]>
Commit | Line | Data |
---|---|---|
56122987 DM |
1 | var pveapi = [ |
2 | { | |
56122987 | 3 | "children" : [ |
5d9c884c DM |
4 | { |
5 | "children" : [ | |
6 | { | |
7 | "info" : { | |
8 | "DELETE" : { | |
e9cd3bd4 | 9 | "allowtoken" : 1, |
5d9c884c DM |
10 | "description" : "Mark replication job for removal.", |
11 | "method" : "DELETE", | |
12 | "name" : "delete", | |
13 | "parameters" : { | |
14 | "additionalProperties" : 0, | |
15 | "properties" : { | |
16 | "force" : { | |
17 | "default" : 0, | |
18 | "description" : "Will remove the jobconfig entry, but will not cleanup.", | |
19 | "optional" : 1, | |
20 | "type" : "boolean", | |
21 | "typetext" : "<boolean>" | |
22 | }, | |
23 | "id" : { | |
24 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
25 | "format" : "pve-replication-job-id", | |
26 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
27 | "type" : "string" | |
28 | }, | |
29 | "keep" : { | |
30 | "default" : 0, | |
31 | "description" : "Keep replicated data at target (do not remove).", | |
32 | "optional" : 1, | |
33 | "type" : "boolean", | |
34 | "typetext" : "<boolean>" | |
35 | } | |
36 | } | |
37 | }, | |
38 | "permissions" : { | |
39 | "check" : [ | |
40 | "perm", | |
41 | "/storage", | |
42 | [ | |
43 | "Datastore.Allocate" | |
44 | ] | |
45 | ] | |
46 | }, | |
47 | "protected" : 1, | |
48 | "returns" : { | |
49 | "type" : "null" | |
50 | } | |
51 | }, | |
52 | "GET" : { | |
e9cd3bd4 | 53 | "allowtoken" : 1, |
5d9c884c DM |
54 | "description" : "Read replication job configuration.", |
55 | "method" : "GET", | |
56 | "name" : "read", | |
57 | "parameters" : { | |
58 | "additionalProperties" : 0, | |
59 | "properties" : { | |
60 | "id" : { | |
61 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
62 | "format" : "pve-replication-job-id", | |
63 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
64 | "type" : "string" | |
65 | } | |
66 | } | |
67 | }, | |
68 | "permissions" : { | |
69 | "description" : "Requires the VM.Audit permission on /vms/<vmid>.", | |
70 | "user" : "all" | |
71 | }, | |
72 | "returns" : { | |
73 | "type" : "object" | |
74 | } | |
75 | }, | |
76 | "PUT" : { | |
e9cd3bd4 | 77 | "allowtoken" : 1, |
5d9c884c DM |
78 | "description" : "Update replication job configuration.", |
79 | "method" : "PUT", | |
80 | "name" : "update", | |
81 | "parameters" : { | |
82 | "additionalProperties" : 0, | |
83 | "properties" : { | |
84 | "comment" : { | |
85 | "description" : "Description.", | |
86 | "maxLength" : 4096, | |
87 | "optional" : 1, | |
88 | "type" : "string", | |
89 | "typetext" : "<string>" | |
90 | }, | |
91 | "delete" : { | |
92 | "description" : "A list of settings you want to delete.", | |
93 | "format" : "pve-configid-list", | |
94 | "maxLength" : 4096, | |
95 | "optional" : 1, | |
96 | "type" : "string", | |
97 | "typetext" : "<string>" | |
98 | }, | |
99 | "digest" : { | |
100 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
101 | "maxLength" : 40, | |
102 | "optional" : 1, | |
103 | "type" : "string", | |
104 | "typetext" : "<string>" | |
105 | }, | |
106 | "disable" : { | |
107 | "description" : "Flag to disable/deactivate the entry.", | |
108 | "optional" : 1, | |
109 | "type" : "boolean", | |
110 | "typetext" : "<boolean>" | |
111 | }, | |
112 | "id" : { | |
113 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
114 | "format" : "pve-replication-job-id", | |
115 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
116 | "type" : "string" | |
117 | }, | |
118 | "rate" : { | |
119 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", | |
120 | "minimum" : 1, | |
121 | "optional" : 1, | |
122 | "type" : "number", | |
123 | "typetext" : "<number> (1 - N)" | |
124 | }, | |
125 | "remove_job" : { | |
126 | "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.", | |
127 | "enum" : [ | |
128 | "local", | |
129 | "full" | |
130 | ], | |
131 | "optional" : 1, | |
132 | "type" : "string" | |
133 | }, | |
134 | "schedule" : { | |
135 | "default" : "*/15", | |
c5aa7e14 | 136 | "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.", |
5d9c884c DM |
137 | "format" : "pve-calendar-event", |
138 | "maxLength" : 128, | |
139 | "optional" : 1, | |
140 | "type" : "string", | |
141 | "typetext" : "<string>" | |
a9a8e3d1 DM |
142 | }, |
143 | "source" : { | |
144 | "description" : "Source of the replication.", | |
145 | "format" : "pve-node", | |
146 | "optional" : 1, | |
147 | "type" : "string", | |
148 | "typetext" : "<string>" | |
5d9c884c DM |
149 | } |
150 | }, | |
151 | "type" : "object" | |
152 | }, | |
153 | "permissions" : { | |
154 | "check" : [ | |
155 | "perm", | |
156 | "/storage", | |
157 | [ | |
158 | "Datastore.Allocate" | |
159 | ] | |
160 | ] | |
161 | }, | |
162 | "protected" : 1, | |
163 | "returns" : { | |
164 | "type" : "null" | |
165 | } | |
166 | } | |
167 | }, | |
168 | "leaf" : 1, | |
169 | "path" : "/cluster/replication/{id}", | |
170 | "text" : "{id}" | |
171 | } | |
172 | ], | |
173 | "info" : { | |
174 | "GET" : { | |
e9cd3bd4 | 175 | "allowtoken" : 1, |
5d9c884c DM |
176 | "description" : "List replication jobs.", |
177 | "method" : "GET", | |
178 | "name" : "index", | |
179 | "parameters" : { | |
180 | "additionalProperties" : 0 | |
181 | }, | |
182 | "permissions" : { | |
183 | "description" : "Requires the VM.Audit permission on /vms/<vmid>.", | |
184 | "user" : "all" | |
185 | }, | |
186 | "returns" : { | |
187 | "items" : { | |
188 | "properties" : {}, | |
189 | "type" : "object" | |
190 | }, | |
191 | "links" : [ | |
192 | { | |
193 | "href" : "{id}", | |
194 | "rel" : "child" | |
195 | } | |
196 | ], | |
197 | "type" : "array" | |
198 | } | |
199 | }, | |
200 | "POST" : { | |
e9cd3bd4 | 201 | "allowtoken" : 1, |
5d9c884c DM |
202 | "description" : "Create a new replication job", |
203 | "method" : "POST", | |
204 | "name" : "create", | |
205 | "parameters" : { | |
206 | "additionalProperties" : 0, | |
207 | "properties" : { | |
208 | "comment" : { | |
209 | "description" : "Description.", | |
210 | "maxLength" : 4096, | |
211 | "optional" : 1, | |
212 | "type" : "string", | |
213 | "typetext" : "<string>" | |
214 | }, | |
215 | "disable" : { | |
216 | "description" : "Flag to disable/deactivate the entry.", | |
217 | "optional" : 1, | |
218 | "type" : "boolean", | |
219 | "typetext" : "<boolean>" | |
220 | }, | |
221 | "id" : { | |
222 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
223 | "format" : "pve-replication-job-id", | |
224 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
225 | "type" : "string" | |
226 | }, | |
227 | "rate" : { | |
228 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", | |
229 | "minimum" : 1, | |
230 | "optional" : 1, | |
231 | "type" : "number", | |
232 | "typetext" : "<number> (1 - N)" | |
233 | }, | |
234 | "remove_job" : { | |
235 | "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.", | |
236 | "enum" : [ | |
237 | "local", | |
238 | "full" | |
239 | ], | |
240 | "optional" : 1, | |
241 | "type" : "string" | |
242 | }, | |
243 | "schedule" : { | |
244 | "default" : "*/15", | |
c5aa7e14 | 245 | "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.", |
5d9c884c DM |
246 | "format" : "pve-calendar-event", |
247 | "maxLength" : 128, | |
248 | "optional" : 1, | |
249 | "type" : "string", | |
250 | "typetext" : "<string>" | |
251 | }, | |
a9a8e3d1 DM |
252 | "source" : { |
253 | "description" : "Source of the replication.", | |
254 | "format" : "pve-node", | |
255 | "optional" : 1, | |
256 | "type" : "string", | |
257 | "typetext" : "<string>" | |
258 | }, | |
5d9c884c DM |
259 | "target" : { |
260 | "description" : "Target node.", | |
261 | "format" : "pve-node", | |
262 | "optional" : 0, | |
263 | "type" : "string", | |
264 | "typetext" : "<string>" | |
265 | }, | |
266 | "type" : { | |
267 | "description" : "Section type.", | |
268 | "enum" : [ | |
269 | "local" | |
270 | ], | |
271 | "type" : "string" | |
272 | } | |
273 | }, | |
274 | "type" : "object" | |
275 | }, | |
276 | "permissions" : { | |
277 | "check" : [ | |
278 | "perm", | |
279 | "/storage", | |
280 | [ | |
281 | "Datastore.Allocate" | |
282 | ] | |
283 | ] | |
284 | }, | |
285 | "protected" : 1, | |
286 | "returns" : { | |
287 | "type" : "null" | |
288 | } | |
289 | } | |
290 | }, | |
291 | "leaf" : 0, | |
292 | "path" : "/cluster/replication", | |
293 | "text" : "replication" | |
294 | }, | |
32d876b5 DM |
295 | { |
296 | "children" : [ | |
c5aa7e14 TL |
297 | { |
298 | "info" : { | |
299 | "GET" : { | |
300 | "allowtoken" : 1, | |
301 | "description" : "Return the version of the cluster join API available on this node.", | |
302 | "method" : "GET", | |
303 | "name" : "join_api_version", | |
304 | "parameters" : { | |
305 | "additionalProperties" : 0 | |
306 | }, | |
307 | "permissions" : { | |
308 | "check" : [ | |
309 | "perm", | |
310 | "/", | |
311 | [ | |
312 | "Sys.Audit" | |
313 | ] | |
314 | ] | |
315 | }, | |
316 | "returns" : { | |
317 | "description" : "Cluster Join API version, currently 1", | |
318 | "minimum" : 0, | |
319 | "type" : "integer" | |
320 | } | |
321 | } | |
322 | }, | |
323 | "leaf" : 1, | |
324 | "path" : "/cluster/config/apiversion", | |
325 | "text" : "apiversion" | |
326 | }, | |
32d876b5 | 327 | { |
27a7acb2 DM |
328 | "children" : [ |
329 | { | |
330 | "info" : { | |
331 | "DELETE" : { | |
e9cd3bd4 | 332 | "allowtoken" : 1, |
27a7acb2 DM |
333 | "description" : "Removes a node from the cluster configuration.", |
334 | "method" : "DELETE", | |
335 | "name" : "delnode", | |
336 | "parameters" : { | |
337 | "additionalProperties" : 0, | |
338 | "properties" : { | |
339 | "node" : { | |
340 | "description" : "The cluster node name.", | |
341 | "format" : "pve-node", | |
342 | "type" : "string", | |
343 | "typetext" : "<string>" | |
344 | } | |
345 | } | |
346 | }, | |
347 | "protected" : 1, | |
348 | "returns" : { | |
349 | "type" : "null" | |
350 | } | |
351 | }, | |
352 | "POST" : { | |
e9cd3bd4 | 353 | "allowtoken" : 1, |
e2d681b3 | 354 | "description" : "Adds a node to the cluster configuration. This call is for internal use.", |
27a7acb2 DM |
355 | "method" : "POST", |
356 | "name" : "addnode", | |
357 | "parameters" : { | |
358 | "additionalProperties" : 0, | |
359 | "properties" : { | |
c5aa7e14 TL |
360 | "apiversion" : { |
361 | "description" : "The JOIN_API_VERSION of the new node.", | |
362 | "optional" : 1, | |
363 | "type" : "integer", | |
364 | "typetext" : "<integer>" | |
365 | }, | |
27a7acb2 DM |
366 | "force" : { |
367 | "description" : "Do not throw error if node already exists.", | |
368 | "optional" : 1, | |
369 | "type" : "boolean", | |
370 | "typetext" : "<boolean>" | |
371 | }, | |
1e3f8156 | 372 | "link[n]" : { |
c5aa7e14 | 373 | "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)", |
1e3f8156 TL |
374 | "format" : { |
375 | "address" : { | |
376 | "default_key" : 1, | |
377 | "description" : "Hostname (or IP) of this corosync link address.", | |
378 | "format" : "address", | |
379 | "format_description" : "IP", | |
380 | "type" : "string" | |
381 | }, | |
382 | "priority" : { | |
383 | "default" : 0, | |
c5aa7e14 | 384 | "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.", |
1e3f8156 TL |
385 | "maximum" : 255, |
386 | "minimum" : 0, | |
387 | "optional" : 1, | |
388 | "type" : "integer" | |
389 | } | |
390 | }, | |
391 | "optional" : 1, | |
392 | "type" : "string", | |
393 | "typetext" : "[address=]<IP> [,priority=<integer>]" | |
394 | }, | |
c5aa7e14 TL |
395 | "new_node_ip" : { |
396 | "description" : "IP Address of node to add. Used as fallback if no links are given.", | |
397 | "format" : "ip", | |
398 | "optional" : 1, | |
399 | "type" : "string", | |
400 | "typetext" : "<string>" | |
401 | }, | |
27a7acb2 DM |
402 | "node" : { |
403 | "description" : "The cluster node name.", | |
404 | "format" : "pve-node", | |
405 | "type" : "string", | |
406 | "typetext" : "<string>" | |
407 | }, | |
408 | "nodeid" : { | |
409 | "description" : "Node id for this node.", | |
410 | "minimum" : 1, | |
411 | "optional" : 1, | |
412 | "type" : "integer", | |
413 | "typetext" : "<integer> (1 - N)" | |
414 | }, | |
27a7acb2 DM |
415 | "votes" : { |
416 | "description" : "Number of votes for this node", | |
417 | "minimum" : 0, | |
418 | "optional" : 1, | |
419 | "type" : "integer", | |
420 | "typetext" : "<integer> (0 - N)" | |
421 | } | |
422 | } | |
423 | }, | |
424 | "protected" : 1, | |
425 | "returns" : { | |
426 | "properties" : { | |
427 | "corosync_authkey" : { | |
428 | "type" : "string" | |
429 | }, | |
430 | "corosync_conf" : { | |
431 | "type" : "string" | |
c5aa7e14 TL |
432 | }, |
433 | "warnings" : { | |
434 | "items" : { | |
435 | "type" : "string" | |
436 | }, | |
437 | "type" : "array" | |
27a7acb2 DM |
438 | } |
439 | }, | |
440 | "type" : "object" | |
441 | } | |
442 | } | |
443 | }, | |
444 | "leaf" : 1, | |
445 | "path" : "/cluster/config/nodes/{node}", | |
446 | "text" : "{node}" | |
447 | } | |
448 | ], | |
32d876b5 DM |
449 | "info" : { |
450 | "GET" : { | |
e9cd3bd4 | 451 | "allowtoken" : 1, |
32d876b5 DM |
452 | "description" : "Corosync node list.", |
453 | "method" : "GET", | |
454 | "name" : "nodes", | |
455 | "parameters" : { | |
456 | "additionalProperties" : 0 | |
457 | }, | |
5d9c884c DM |
458 | "permissions" : { |
459 | "check" : [ | |
460 | "perm", | |
461 | "/", | |
462 | [ | |
463 | "Sys.Audit" | |
464 | ] | |
465 | ] | |
466 | }, | |
32d876b5 DM |
467 | "returns" : { |
468 | "items" : { | |
469 | "properties" : { | |
470 | "node" : { | |
471 | "type" : "string" | |
472 | } | |
473 | }, | |
474 | "type" : "object" | |
475 | }, | |
476 | "links" : [ | |
477 | { | |
478 | "href" : "{node}", | |
479 | "rel" : "child" | |
480 | } | |
481 | ], | |
482 | "type" : "array" | |
483 | } | |
484 | } | |
485 | }, | |
27a7acb2 | 486 | "leaf" : 0, |
32d876b5 DM |
487 | "path" : "/cluster/config/nodes", |
488 | "text" : "nodes" | |
489 | }, | |
27a7acb2 DM |
490 | { |
491 | "info" : { | |
492 | "GET" : { | |
e9cd3bd4 | 493 | "allowtoken" : 1, |
27a7acb2 DM |
494 | "description" : "Get information needed to join this cluster over the connected node.", |
495 | "method" : "GET", | |
496 | "name" : "join_info", | |
497 | "parameters" : { | |
498 | "additionalProperties" : 0, | |
499 | "properties" : { | |
500 | "node" : { | |
501 | "default" : "current connected node", | |
502 | "description" : "The node for which the joinee gets the nodeinfo. ", | |
503 | "format" : "pve-node", | |
504 | "optional" : 1, | |
505 | "type" : "string", | |
506 | "typetext" : "<string>" | |
507 | } | |
508 | } | |
509 | }, | |
a9a8e3d1 DM |
510 | "permissions" : { |
511 | "check" : [ | |
512 | "perm", | |
513 | "/", | |
514 | [ | |
515 | "Sys.Audit" | |
516 | ] | |
517 | ] | |
518 | }, | |
27a7acb2 DM |
519 | "returns" : { |
520 | "additionalProperties" : 0, | |
521 | "properties" : { | |
522 | "config_digest" : { | |
523 | "type" : "string" | |
524 | }, | |
525 | "nodelist" : { | |
526 | "items" : { | |
527 | "additionalProperties" : 1, | |
528 | "properties" : { | |
529 | "name" : { | |
530 | "description" : "The cluster node name.", | |
531 | "format" : "pve-node", | |
532 | "type" : "string" | |
533 | }, | |
534 | "nodeid" : { | |
535 | "description" : "Node id for this node.", | |
536 | "minimum" : 1, | |
537 | "optional" : 1, | |
538 | "type" : "integer" | |
539 | }, | |
540 | "pve_addr" : { | |
541 | "format" : "ip", | |
542 | "type" : "string" | |
543 | }, | |
544 | "pve_fp" : { | |
545 | "description" : "Certificate SHA 256 fingerprint.", | |
546 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
547 | "type" : "string" | |
548 | }, | |
549 | "quorum_votes" : { | |
550 | "minimum" : 0, | |
551 | "type" : "integer" | |
552 | }, | |
553 | "ring0_addr" : { | |
c5aa7e14 | 554 | "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)", |
1e3f8156 TL |
555 | "format" : { |
556 | "address" : { | |
557 | "default_key" : 1, | |
558 | "description" : "Hostname (or IP) of this corosync link address.", | |
559 | "format" : "address", | |
560 | "format_description" : "IP", | |
561 | "type" : "string" | |
562 | }, | |
563 | "priority" : { | |
564 | "default" : 0, | |
c5aa7e14 | 565 | "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.", |
1e3f8156 TL |
566 | "maximum" : 255, |
567 | "minimum" : 0, | |
568 | "optional" : 1, | |
569 | "type" : "integer" | |
570 | } | |
571 | }, | |
27a7acb2 DM |
572 | "optional" : 1, |
573 | "type" : "string" | |
574 | } | |
575 | }, | |
576 | "type" : "object" | |
577 | }, | |
578 | "type" : "array" | |
579 | }, | |
580 | "preferred_node" : { | |
581 | "description" : "The cluster node name.", | |
582 | "format" : "pve-node", | |
583 | "type" : "string" | |
584 | }, | |
585 | "totem" : { | |
586 | "type" : "object" | |
587 | } | |
588 | }, | |
589 | "type" : "object" | |
590 | } | |
591 | }, | |
592 | "POST" : { | |
e9cd3bd4 | 593 | "allowtoken" : 1, |
c5aa7e14 | 594 | "description" : "Joins this node into an existing cluster. If no links are given, default to IP resolved by node's hostname on single link (fallback fails for clusters with multiple links).", |
27a7acb2 DM |
595 | "method" : "POST", |
596 | "name" : "join", | |
597 | "parameters" : { | |
598 | "additionalProperties" : 0, | |
599 | "properties" : { | |
600 | "fingerprint" : { | |
601 | "description" : "Certificate SHA 256 fingerprint.", | |
602 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
603 | "type" : "string" | |
604 | }, | |
605 | "force" : { | |
606 | "description" : "Do not throw error if node already exists.", | |
607 | "optional" : 1, | |
608 | "type" : "boolean", | |
609 | "typetext" : "<boolean>" | |
610 | }, | |
611 | "hostname" : { | |
612 | "description" : "Hostname (or IP) of an existing cluster member.", | |
613 | "type" : "string", | |
614 | "typetext" : "<string>" | |
615 | }, | |
1e3f8156 | 616 | "link[n]" : { |
c5aa7e14 | 617 | "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)", |
1e3f8156 TL |
618 | "format" : { |
619 | "address" : { | |
620 | "default_key" : 1, | |
621 | "description" : "Hostname (or IP) of this corosync link address.", | |
622 | "format" : "address", | |
623 | "format_description" : "IP", | |
624 | "type" : "string" | |
625 | }, | |
626 | "priority" : { | |
627 | "default" : 0, | |
c5aa7e14 | 628 | "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.", |
1e3f8156 TL |
629 | "maximum" : 255, |
630 | "minimum" : 0, | |
631 | "optional" : 1, | |
632 | "type" : "integer" | |
633 | } | |
634 | }, | |
635 | "optional" : 1, | |
636 | "type" : "string", | |
637 | "typetext" : "[address=]<IP> [,priority=<integer>]" | |
638 | }, | |
27a7acb2 DM |
639 | "nodeid" : { |
640 | "description" : "Node id for this node.", | |
641 | "minimum" : 1, | |
642 | "optional" : 1, | |
643 | "type" : "integer", | |
644 | "typetext" : "<integer> (1 - N)" | |
645 | }, | |
646 | "password" : { | |
647 | "description" : "Superuser (root) password of peer node.", | |
648 | "maxLength" : 128, | |
649 | "type" : "string", | |
650 | "typetext" : "<string>" | |
651 | }, | |
27a7acb2 DM |
652 | "votes" : { |
653 | "description" : "Number of votes for this node", | |
654 | "minimum" : 0, | |
655 | "optional" : 1, | |
656 | "type" : "integer", | |
657 | "typetext" : "<integer> (0 - N)" | |
658 | } | |
659 | } | |
660 | }, | |
661 | "protected" : 1, | |
662 | "returns" : { | |
663 | "type" : "string" | |
664 | } | |
665 | } | |
666 | }, | |
667 | "leaf" : 1, | |
668 | "path" : "/cluster/config/join", | |
669 | "text" : "join" | |
670 | }, | |
32d876b5 DM |
671 | { |
672 | "info" : { | |
673 | "GET" : { | |
e9cd3bd4 | 674 | "allowtoken" : 1, |
32d876b5 DM |
675 | "description" : "Get corosync totem protocol settings.", |
676 | "method" : "GET", | |
677 | "name" : "totem", | |
678 | "parameters" : { | |
679 | "additionalProperties" : 0 | |
680 | }, | |
5d9c884c DM |
681 | "permissions" : { |
682 | "check" : [ | |
683 | "perm", | |
684 | "/", | |
685 | [ | |
686 | "Sys.Audit" | |
687 | ] | |
688 | ] | |
689 | }, | |
32d876b5 | 690 | "returns" : { |
32d876b5 DM |
691 | "type" : "object" |
692 | } | |
693 | } | |
694 | }, | |
695 | "leaf" : 1, | |
696 | "path" : "/cluster/config/totem", | |
697 | "text" : "totem" | |
9226ccbc TL |
698 | }, |
699 | { | |
700 | "info" : { | |
701 | "GET" : { | |
e9cd3bd4 | 702 | "allowtoken" : 1, |
9226ccbc TL |
703 | "description" : "Get QDevice status", |
704 | "method" : "GET", | |
705 | "name" : "status", | |
706 | "parameters" : { | |
707 | "additionalProperties" : 0 | |
708 | }, | |
709 | "permissions" : { | |
710 | "check" : [ | |
711 | "perm", | |
712 | "/", | |
713 | [ | |
714 | "Sys.Audit" | |
715 | ] | |
716 | ] | |
717 | }, | |
718 | "returns" : { | |
719 | "type" : "object" | |
720 | } | |
721 | } | |
722 | }, | |
723 | "leaf" : 1, | |
724 | "path" : "/cluster/config/qdevice", | |
725 | "text" : "qdevice" | |
32d876b5 DM |
726 | } |
727 | ], | |
728 | "info" : { | |
729 | "GET" : { | |
e9cd3bd4 | 730 | "allowtoken" : 1, |
32d876b5 DM |
731 | "description" : "Directory index.", |
732 | "method" : "GET", | |
733 | "name" : "index", | |
734 | "parameters" : { | |
735 | "additionalProperties" : 0 | |
736 | }, | |
5d9c884c DM |
737 | "permissions" : { |
738 | "check" : [ | |
739 | "perm", | |
740 | "/", | |
741 | [ | |
742 | "Sys.Audit" | |
743 | ] | |
744 | ] | |
745 | }, | |
32d876b5 DM |
746 | "returns" : { |
747 | "items" : { | |
748 | "properties" : {}, | |
749 | "type" : "object" | |
750 | }, | |
751 | "links" : [ | |
752 | { | |
753 | "href" : "{name}", | |
754 | "rel" : "child" | |
755 | } | |
756 | ], | |
757 | "type" : "array" | |
758 | } | |
27a7acb2 DM |
759 | }, |
760 | "POST" : { | |
e9cd3bd4 | 761 | "allowtoken" : 1, |
c5aa7e14 | 762 | "description" : "Generate new cluster configuration. If no links given, default to local IP address as link0.", |
27a7acb2 DM |
763 | "method" : "POST", |
764 | "name" : "create", | |
765 | "parameters" : { | |
766 | "additionalProperties" : 0, | |
767 | "properties" : { | |
27a7acb2 DM |
768 | "clustername" : { |
769 | "description" : "The name of the cluster.", | |
770 | "format" : "pve-node", | |
771 | "maxLength" : 15, | |
772 | "type" : "string", | |
773 | "typetext" : "<string>" | |
774 | }, | |
1e3f8156 | 775 | "link[n]" : { |
c5aa7e14 | 776 | "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)", |
1e3f8156 TL |
777 | "format" : { |
778 | "address" : { | |
779 | "default_key" : 1, | |
780 | "description" : "Hostname (or IP) of this corosync link address.", | |
781 | "format" : "address", | |
782 | "format_description" : "IP", | |
783 | "type" : "string" | |
784 | }, | |
785 | "priority" : { | |
786 | "default" : 0, | |
c5aa7e14 | 787 | "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.", |
1e3f8156 TL |
788 | "maximum" : 255, |
789 | "minimum" : 0, | |
790 | "optional" : 1, | |
791 | "type" : "integer" | |
792 | } | |
793 | }, | |
794 | "optional" : 1, | |
795 | "type" : "string", | |
796 | "typetext" : "[address=]<IP> [,priority=<integer>]" | |
797 | }, | |
27a7acb2 DM |
798 | "nodeid" : { |
799 | "description" : "Node id for this node.", | |
800 | "minimum" : 1, | |
801 | "optional" : 1, | |
802 | "type" : "integer", | |
803 | "typetext" : "<integer> (1 - N)" | |
804 | }, | |
27a7acb2 DM |
805 | "votes" : { |
806 | "description" : "Number of votes for this node.", | |
807 | "minimum" : 1, | |
808 | "optional" : 1, | |
809 | "type" : "integer", | |
810 | "typetext" : "<integer> (1 - N)" | |
811 | } | |
812 | } | |
813 | }, | |
814 | "protected" : 1, | |
815 | "returns" : { | |
816 | "type" : "string" | |
817 | } | |
32d876b5 DM |
818 | } |
819 | }, | |
820 | "leaf" : 0, | |
821 | "path" : "/cluster/config", | |
822 | "text" : "config" | |
823 | }, | |
56122987 | 824 | { |
56122987 DM |
825 | "children" : [ |
826 | { | |
56122987 DM |
827 | "children" : [ |
828 | { | |
44660702 DM |
829 | "children" : [ |
830 | { | |
831 | "info" : { | |
832 | "DELETE" : { | |
e9cd3bd4 | 833 | "allowtoken" : 1, |
44660702 DM |
834 | "description" : "Delete rule.", |
835 | "method" : "DELETE", | |
836 | "name" : "delete_rule", | |
837 | "parameters" : { | |
838 | "additionalProperties" : 0, | |
839 | "properties" : { | |
840 | "digest" : { | |
841 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
842 | "maxLength" : 40, | |
843 | "optional" : 1, | |
013dc89f DM |
844 | "type" : "string", |
845 | "typetext" : "<string>" | |
44660702 DM |
846 | }, |
847 | "group" : { | |
848 | "description" : "Security Group name.", | |
4bd7df8b | 849 | "maxLength" : 18, |
44660702 DM |
850 | "minLength" : 2, |
851 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
852 | "type" : "string" | |
853 | }, | |
854 | "pos" : { | |
855 | "description" : "Update rule at position <pos>.", | |
856 | "minimum" : 0, | |
857 | "optional" : 1, | |
4bd7df8b | 858 | "type" : "integer", |
013dc89f | 859 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
860 | } |
861 | } | |
862 | }, | |
863 | "permissions" : { | |
864 | "check" : [ | |
865 | "perm", | |
866 | "/", | |
867 | [ | |
868 | "Sys.Modify" | |
869 | ] | |
870 | ] | |
871 | }, | |
872 | "protected" : 1, | |
873 | "proxyto" : null, | |
874 | "returns" : { | |
875 | "type" : "null" | |
7aacca6f DM |
876 | } |
877 | }, | |
44660702 | 878 | "GET" : { |
e9cd3bd4 | 879 | "allowtoken" : 1, |
44660702 DM |
880 | "description" : "Get single rule data.", |
881 | "method" : "GET", | |
882 | "name" : "get_rule", | |
883 | "parameters" : { | |
884 | "additionalProperties" : 0, | |
885 | "properties" : { | |
886 | "group" : { | |
887 | "description" : "Security Group name.", | |
4bd7df8b | 888 | "maxLength" : 18, |
44660702 DM |
889 | "minLength" : 2, |
890 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
891 | "type" : "string" | |
892 | }, | |
893 | "pos" : { | |
894 | "description" : "Update rule at position <pos>.", | |
895 | "minimum" : 0, | |
896 | "optional" : 1, | |
4bd7df8b | 897 | "type" : "integer", |
013dc89f | 898 | "typetext" : "<integer> (0 - N)" |
44660702 | 899 | } |
7aacca6f | 900 | } |
56122987 | 901 | }, |
44660702 DM |
902 | "permissions" : { |
903 | "check" : [ | |
904 | "perm", | |
905 | "/", | |
906 | [ | |
907 | "Sys.Audit" | |
908 | ] | |
909 | ] | |
910 | }, | |
911 | "proxyto" : null, | |
912 | "returns" : { | |
913 | "properties" : { | |
e2d681b3 TL |
914 | "action" : { |
915 | "type" : "string" | |
916 | }, | |
917 | "comment" : { | |
918 | "optional" : 1, | |
919 | "type" : "string" | |
920 | }, | |
921 | "dest" : { | |
922 | "optional" : 1, | |
923 | "type" : "string" | |
924 | }, | |
925 | "dport" : { | |
926 | "optional" : 1, | |
927 | "type" : "string" | |
928 | }, | |
929 | "enable" : { | |
930 | "optional" : 1, | |
931 | "type" : "integer" | |
932 | }, | |
933 | "iface" : { | |
934 | "optional" : 1, | |
935 | "type" : "string" | |
936 | }, | |
937 | "ipversion" : { | |
938 | "optional" : 1, | |
939 | "type" : "integer" | |
940 | }, | |
95895385 TL |
941 | "log" : { |
942 | "description" : "Log level for firewall rule", | |
943 | "enum" : [ | |
944 | "emerg", | |
945 | "alert", | |
946 | "crit", | |
947 | "err", | |
948 | "warning", | |
949 | "notice", | |
950 | "info", | |
951 | "debug", | |
952 | "nolog" | |
953 | ], | |
954 | "optional" : 1, | |
955 | "type" : "string" | |
956 | }, | |
e2d681b3 TL |
957 | "macro" : { |
958 | "optional" : 1, | |
5f26e15b | 959 | "type" : "string" |
e2d681b3 | 960 | }, |
44660702 DM |
961 | "pos" : { |
962 | "type" : "integer" | |
e2d681b3 TL |
963 | }, |
964 | "proto" : { | |
965 | "optional" : 1, | |
966 | "type" : "string" | |
967 | }, | |
968 | "source" : { | |
969 | "optional" : 1, | |
970 | "type" : "string" | |
971 | }, | |
972 | "sport" : { | |
973 | "optional" : 1, | |
974 | "type" : "string" | |
975 | }, | |
976 | "type" : { | |
977 | "type" : "string" | |
44660702 DM |
978 | } |
979 | }, | |
980 | "type" : "object" | |
56122987 | 981 | } |
44660702 | 982 | }, |
7aacca6f | 983 | "PUT" : { |
e9cd3bd4 | 984 | "allowtoken" : 1, |
44660702 DM |
985 | "description" : "Modify rule data.", |
986 | "method" : "PUT", | |
987 | "name" : "update_rule", | |
7aacca6f DM |
988 | "parameters" : { |
989 | "additionalProperties" : 0, | |
990 | "properties" : { | |
44660702 DM |
991 | "action" : { |
992 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
7aacca6f | 993 | "maxLength" : 20, |
44660702 | 994 | "minLength" : 2, |
7aacca6f | 995 | "optional" : 1, |
44660702 | 996 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7aacca6f DM |
997 | "type" : "string" |
998 | }, | |
44660702 | 999 | "comment" : { |
e94f0d56 | 1000 | "description" : "Descriptive comment.", |
7aacca6f | 1001 | "optional" : 1, |
013dc89f DM |
1002 | "type" : "string", |
1003 | "typetext" : "<string>" | |
7aacca6f | 1004 | }, |
44660702 DM |
1005 | "delete" : { |
1006 | "description" : "A list of settings you want to delete.", | |
1007 | "format" : "pve-configid-list", | |
7aacca6f | 1008 | "optional" : 1, |
013dc89f DM |
1009 | "type" : "string", |
1010 | "typetext" : "<string>" | |
7aacca6f | 1011 | }, |
44660702 DM |
1012 | "dest" : { |
1013 | "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.", | |
1014 | "format" : "pve-fw-addr-spec", | |
7aacca6f | 1015 | "optional" : 1, |
013dc89f DM |
1016 | "type" : "string", |
1017 | "typetext" : "<string>" | |
7aacca6f DM |
1018 | }, |
1019 | "digest" : { | |
1020 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 1021 | "maxLength" : 40, |
7aacca6f | 1022 | "optional" : 1, |
013dc89f DM |
1023 | "type" : "string", |
1024 | "typetext" : "<string>" | |
7aacca6f | 1025 | }, |
44660702 DM |
1026 | "dport" : { |
1027 | "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.", | |
1028 | "format" : "pve-fw-dport-spec", | |
7aacca6f | 1029 | "optional" : 1, |
013dc89f DM |
1030 | "type" : "string", |
1031 | "typetext" : "<string>" | |
7aacca6f | 1032 | }, |
44660702 | 1033 | "enable" : { |
e94f0d56 | 1034 | "description" : "Flag to enable/disable a rule.", |
44660702 | 1035 | "minimum" : 0, |
7aacca6f | 1036 | "optional" : 1, |
4bd7df8b | 1037 | "type" : "integer", |
013dc89f | 1038 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 1039 | }, |
44660702 DM |
1040 | "group" : { |
1041 | "description" : "Security Group name.", | |
4bd7df8b | 1042 | "maxLength" : 18, |
44660702 DM |
1043 | "minLength" : 2, |
1044 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1045 | "type" : "string" | |
1046 | }, | |
1047 | "iface" : { | |
1048 | "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.", | |
1049 | "format" : "pve-iface", | |
1050 | "maxLength" : 20, | |
1051 | "minLength" : 2, | |
7aacca6f | 1052 | "optional" : 1, |
013dc89f DM |
1053 | "type" : "string", |
1054 | "typetext" : "<string>" | |
7aacca6f | 1055 | }, |
95895385 TL |
1056 | "log" : { |
1057 | "description" : "Log level for firewall rule.", | |
1058 | "enum" : [ | |
1059 | "emerg", | |
1060 | "alert", | |
1061 | "crit", | |
1062 | "err", | |
1063 | "warning", | |
1064 | "notice", | |
1065 | "info", | |
1066 | "debug", | |
1067 | "nolog" | |
1068 | ], | |
1069 | "optional" : 1, | |
1070 | "type" : "string" | |
1071 | }, | |
44660702 | 1072 | "macro" : { |
e94f0d56 | 1073 | "description" : "Use predefined standard macro.", |
44660702 DM |
1074 | "maxLength" : 128, |
1075 | "optional" : 1, | |
013dc89f DM |
1076 | "type" : "string", |
1077 | "typetext" : "<string>" | |
7aacca6f DM |
1078 | }, |
1079 | "moveto" : { | |
1080 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
44660702 | 1081 | "minimum" : 0, |
7aacca6f | 1082 | "optional" : 1, |
4bd7df8b | 1083 | "type" : "integer", |
013dc89f | 1084 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 1085 | }, |
44660702 DM |
1086 | "pos" : { |
1087 | "description" : "Update rule at position <pos>.", | |
1088 | "minimum" : 0, | |
1089 | "optional" : 1, | |
4bd7df8b | 1090 | "type" : "integer", |
013dc89f | 1091 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 1092 | }, |
44660702 DM |
1093 | "proto" : { |
1094 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
1095 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 1096 | "optional" : 1, |
013dc89f DM |
1097 | "type" : "string", |
1098 | "typetext" : "<string>" | |
44660702 DM |
1099 | }, |
1100 | "source" : { | |
1101 | "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.", | |
1102 | "format" : "pve-fw-addr-spec", | |
1103 | "optional" : 1, | |
013dc89f DM |
1104 | "type" : "string", |
1105 | "typetext" : "<string>" | |
44660702 DM |
1106 | }, |
1107 | "sport" : { | |
1108 | "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.", | |
1109 | "format" : "pve-fw-sport-spec", | |
1110 | "optional" : 1, | |
013dc89f DM |
1111 | "type" : "string", |
1112 | "typetext" : "<string>" | |
7aacca6f DM |
1113 | }, |
1114 | "type" : { | |
e94f0d56 | 1115 | "description" : "Rule type.", |
7aacca6f DM |
1116 | "enum" : [ |
1117 | "in", | |
1118 | "out", | |
1119 | "group" | |
1120 | ], | |
1121 | "optional" : 1, | |
1122 | "type" : "string" | |
1123 | } | |
1124 | } | |
1125 | }, | |
7aacca6f DM |
1126 | "permissions" : { |
1127 | "check" : [ | |
1128 | "perm", | |
1129 | "/", | |
1130 | [ | |
1131 | "Sys.Modify" | |
1132 | ] | |
1133 | ] | |
1134 | }, | |
44660702 | 1135 | "protected" : 1, |
7aacca6f DM |
1136 | "proxyto" : null, |
1137 | "returns" : { | |
1138 | "type" : "null" | |
1139 | } | |
7aacca6f DM |
1140 | } |
1141 | }, | |
44660702 | 1142 | "leaf" : 1, |
7aacca6f | 1143 | "path" : "/cluster/firewall/groups/{group}/{pos}", |
44660702 | 1144 | "text" : "{pos}" |
7aacca6f DM |
1145 | } |
1146 | ], | |
44660702 DM |
1147 | "info" : { |
1148 | "DELETE" : { | |
e9cd3bd4 | 1149 | "allowtoken" : 1, |
44660702 DM |
1150 | "description" : "Delete security group.", |
1151 | "method" : "DELETE", | |
1152 | "name" : "delete_security_group", | |
1153 | "parameters" : { | |
1154 | "additionalProperties" : 0, | |
1155 | "properties" : { | |
1156 | "group" : { | |
1157 | "description" : "Security Group name.", | |
4bd7df8b | 1158 | "maxLength" : 18, |
44660702 DM |
1159 | "minLength" : 2, |
1160 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1161 | "type" : "string" | |
1162 | } | |
56122987 | 1163 | } |
7aacca6f | 1164 | }, |
44660702 DM |
1165 | "permissions" : { |
1166 | "check" : [ | |
1167 | "perm", | |
1168 | "/", | |
1169 | [ | |
1170 | "Sys.Modify" | |
1171 | ] | |
7aacca6f | 1172 | ] |
56122987 | 1173 | }, |
44660702 DM |
1174 | "protected" : 1, |
1175 | "returns" : { | |
1176 | "type" : "null" | |
56122987 | 1177 | } |
7aacca6f | 1178 | }, |
7aacca6f | 1179 | "GET" : { |
e9cd3bd4 | 1180 | "allowtoken" : 1, |
44660702 | 1181 | "description" : "List rules.", |
7aacca6f | 1182 | "method" : "GET", |
44660702 DM |
1183 | "name" : "get_rules", |
1184 | "parameters" : { | |
1185 | "additionalProperties" : 0, | |
7aacca6f | 1186 | "properties" : { |
44660702 DM |
1187 | "group" : { |
1188 | "description" : "Security Group name.", | |
4bd7df8b | 1189 | "maxLength" : 18, |
44660702 DM |
1190 | "minLength" : 2, |
1191 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1192 | "type" : "string" | |
7aacca6f | 1193 | } |
44660702 | 1194 | } |
7aacca6f DM |
1195 | }, |
1196 | "permissions" : { | |
1197 | "check" : [ | |
1198 | "perm", | |
1199 | "/", | |
1200 | [ | |
1201 | "Sys.Audit" | |
1202 | ] | |
1203 | ] | |
1204 | }, | |
44660702 DM |
1205 | "proxyto" : null, |
1206 | "returns" : { | |
1207 | "items" : { | |
1208 | "properties" : { | |
1209 | "pos" : { | |
1210 | "type" : "integer" | |
1211 | } | |
1212 | }, | |
1213 | "type" : "object" | |
1214 | }, | |
1215 | "links" : [ | |
1216 | { | |
1217 | "href" : "{pos}", | |
1218 | "rel" : "child" | |
1219 | } | |
1220 | ], | |
1221 | "type" : "array" | |
1222 | } | |
1223 | }, | |
1224 | "POST" : { | |
e9cd3bd4 | 1225 | "allowtoken" : 1, |
44660702 DM |
1226 | "description" : "Create new rule.", |
1227 | "method" : "POST", | |
1228 | "name" : "create_rule", | |
7aacca6f DM |
1229 | "parameters" : { |
1230 | "additionalProperties" : 0, | |
1231 | "properties" : { | |
44660702 DM |
1232 | "action" : { |
1233 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
1234 | "maxLength" : 20, | |
56122987 | 1235 | "minLength" : 2, |
44660702 DM |
1236 | "optional" : 0, |
1237 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7aacca6f | 1238 | "type" : "string" |
56122987 | 1239 | }, |
44660702 | 1240 | "comment" : { |
e94f0d56 | 1241 | "description" : "Descriptive comment.", |
56122987 | 1242 | "optional" : 1, |
013dc89f DM |
1243 | "type" : "string", |
1244 | "typetext" : "<string>" | |
56122987 | 1245 | }, |
44660702 DM |
1246 | "dest" : { |
1247 | "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 |
1248 | "format" : "pve-fw-addr-spec", |
1249 | "optional" : 1, | |
013dc89f DM |
1250 | "type" : "string", |
1251 | "typetext" : "<string>" | |
56122987 | 1252 | }, |
44660702 DM |
1253 | "digest" : { |
1254 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1255 | "maxLength" : 40, | |
7aacca6f | 1256 | "optional" : 1, |
013dc89f DM |
1257 | "type" : "string", |
1258 | "typetext" : "<string>" | |
56122987 | 1259 | }, |
44660702 DM |
1260 | "dport" : { |
1261 | "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.", | |
1262 | "format" : "pve-fw-dport-spec", | |
56122987 | 1263 | "optional" : 1, |
013dc89f DM |
1264 | "type" : "string", |
1265 | "typetext" : "<string>" | |
56122987 | 1266 | }, |
7aacca6f | 1267 | "enable" : { |
e94f0d56 | 1268 | "description" : "Flag to enable/disable a rule.", |
44660702 | 1269 | "minimum" : 0, |
7aacca6f | 1270 | "optional" : 1, |
4bd7df8b | 1271 | "type" : "integer", |
013dc89f | 1272 | "typetext" : "<integer> (0 - N)" |
56122987 | 1273 | }, |
44660702 DM |
1274 | "group" : { |
1275 | "description" : "Security Group name.", | |
4bd7df8b | 1276 | "maxLength" : 18, |
44660702 | 1277 | "minLength" : 2, |
7aacca6f | 1278 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 DM |
1279 | "type" : "string" |
1280 | }, | |
1281 | "iface" : { | |
1282 | "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.", | |
1283 | "format" : "pve-iface", | |
1284 | "maxLength" : 20, | |
7aacca6f | 1285 | "minLength" : 2, |
44660702 | 1286 | "optional" : 1, |
013dc89f DM |
1287 | "type" : "string", |
1288 | "typetext" : "<string>" | |
56122987 | 1289 | }, |
95895385 TL |
1290 | "log" : { |
1291 | "description" : "Log level for firewall rule.", | |
1292 | "enum" : [ | |
1293 | "emerg", | |
1294 | "alert", | |
1295 | "crit", | |
1296 | "err", | |
1297 | "warning", | |
1298 | "notice", | |
1299 | "info", | |
1300 | "debug", | |
1301 | "nolog" | |
1302 | ], | |
1303 | "optional" : 1, | |
1304 | "type" : "string" | |
1305 | }, | |
7aacca6f | 1306 | "macro" : { |
e94f0d56 | 1307 | "description" : "Use predefined standard macro.", |
44660702 | 1308 | "maxLength" : 128, |
7aacca6f | 1309 | "optional" : 1, |
013dc89f DM |
1310 | "type" : "string", |
1311 | "typetext" : "<string>" | |
7aacca6f DM |
1312 | }, |
1313 | "pos" : { | |
1314 | "description" : "Update rule at position <pos>.", | |
44660702 | 1315 | "minimum" : 0, |
56122987 | 1316 | "optional" : 1, |
4bd7df8b | 1317 | "type" : "integer", |
013dc89f | 1318 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
1319 | }, |
1320 | "proto" : { | |
1321 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
44660702 | 1322 | "format" : "pve-fw-protocol-spec", |
7aacca6f | 1323 | "optional" : 1, |
013dc89f DM |
1324 | "type" : "string", |
1325 | "typetext" : "<string>" | |
44660702 DM |
1326 | }, |
1327 | "source" : { | |
1328 | "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.", | |
1329 | "format" : "pve-fw-addr-spec", | |
1330 | "optional" : 1, | |
013dc89f DM |
1331 | "type" : "string", |
1332 | "typetext" : "<string>" | |
44660702 DM |
1333 | }, |
1334 | "sport" : { | |
1335 | "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.", | |
1336 | "format" : "pve-fw-sport-spec", | |
1337 | "optional" : 1, | |
013dc89f DM |
1338 | "type" : "string", |
1339 | "typetext" : "<string>" | |
44660702 DM |
1340 | }, |
1341 | "type" : { | |
e94f0d56 | 1342 | "description" : "Rule type.", |
44660702 DM |
1343 | "enum" : [ |
1344 | "in", | |
1345 | "out", | |
1346 | "group" | |
1347 | ], | |
1348 | "optional" : 0, | |
1349 | "type" : "string" | |
56122987 | 1350 | } |
44660702 | 1351 | } |
56122987 | 1352 | }, |
56122987 DM |
1353 | "permissions" : { |
1354 | "check" : [ | |
1355 | "perm", | |
1356 | "/", | |
1357 | [ | |
1358 | "Sys.Modify" | |
1359 | ] | |
1360 | ] | |
1361 | }, | |
44660702 DM |
1362 | "protected" : 1, |
1363 | "proxyto" : null, | |
56122987 DM |
1364 | "returns" : { |
1365 | "type" : "null" | |
7aacca6f | 1366 | } |
44660702 DM |
1367 | } |
1368 | }, | |
1369 | "leaf" : 0, | |
1370 | "path" : "/cluster/firewall/groups/{group}", | |
1371 | "text" : "{group}" | |
1372 | } | |
1373 | ], | |
1374 | "info" : { | |
1375 | "GET" : { | |
e9cd3bd4 | 1376 | "allowtoken" : 1, |
44660702 DM |
1377 | "description" : "List security groups.", |
1378 | "method" : "GET", | |
1379 | "name" : "list_security_groups", | |
1380 | "parameters" : { | |
1381 | "additionalProperties" : 0 | |
1382 | }, | |
1383 | "permissions" : { | |
1384 | "user" : "all" | |
1385 | }, | |
1386 | "returns" : { | |
1387 | "items" : { | |
1388 | "properties" : { | |
1389 | "comment" : { | |
1390 | "optional" : 1, | |
1391 | "type" : "string" | |
1392 | }, | |
1393 | "digest" : { | |
1394 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1395 | "maxLength" : 40, | |
1396 | "optional" : 0, | |
1397 | "type" : "string" | |
1398 | }, | |
1399 | "group" : { | |
1400 | "description" : "Security Group name.", | |
4bd7df8b | 1401 | "maxLength" : 18, |
44660702 DM |
1402 | "minLength" : 2, |
1403 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1404 | "type" : "string" | |
1405 | } | |
1406 | }, | |
1407 | "type" : "object" | |
56122987 | 1408 | }, |
44660702 DM |
1409 | "links" : [ |
1410 | { | |
1411 | "href" : "{group}", | |
1412 | "rel" : "child" | |
1413 | } | |
1414 | ], | |
1415 | "type" : "array" | |
1416 | } | |
1417 | }, | |
1418 | "POST" : { | |
e9cd3bd4 | 1419 | "allowtoken" : 1, |
44660702 DM |
1420 | "description" : "Create new security group.", |
1421 | "method" : "POST", | |
1422 | "name" : "create_security_group", | |
1423 | "parameters" : { | |
1424 | "additionalProperties" : 0, | |
1425 | "properties" : { | |
1426 | "comment" : { | |
1427 | "optional" : 1, | |
013dc89f DM |
1428 | "type" : "string", |
1429 | "typetext" : "<string>" | |
44660702 DM |
1430 | }, |
1431 | "digest" : { | |
1432 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1433 | "maxLength" : 40, | |
1434 | "optional" : 1, | |
013dc89f DM |
1435 | "type" : "string", |
1436 | "typetext" : "<string>" | |
44660702 DM |
1437 | }, |
1438 | "group" : { | |
1439 | "description" : "Security Group name.", | |
4bd7df8b | 1440 | "maxLength" : 18, |
44660702 DM |
1441 | "minLength" : 2, |
1442 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1443 | "type" : "string" | |
1444 | }, | |
1445 | "rename" : { | |
1446 | "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 | 1447 | "maxLength" : 18, |
44660702 DM |
1448 | "minLength" : 2, |
1449 | "optional" : 1, | |
1450 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1451 | "type" : "string" | |
1452 | } | |
1453 | } | |
1454 | }, | |
1455 | "permissions" : { | |
1456 | "check" : [ | |
1457 | "perm", | |
1458 | "/", | |
1459 | [ | |
1460 | "Sys.Modify" | |
1461 | ] | |
1462 | ] | |
1463 | }, | |
1464 | "protected" : 1, | |
1465 | "returns" : { | |
1466 | "type" : "null" | |
1467 | } | |
1468 | } | |
1469 | }, | |
1470 | "leaf" : 0, | |
1471 | "path" : "/cluster/firewall/groups", | |
1472 | "text" : "groups" | |
1473 | }, | |
1474 | { | |
1475 | "children" : [ | |
1476 | { | |
1477 | "info" : { | |
7aacca6f | 1478 | "DELETE" : { |
e9cd3bd4 | 1479 | "allowtoken" : 1, |
44660702 DM |
1480 | "description" : "Delete rule.", |
1481 | "method" : "DELETE", | |
1482 | "name" : "delete_rule", | |
1483 | "parameters" : { | |
1484 | "additionalProperties" : 0, | |
1485 | "properties" : { | |
1486 | "digest" : { | |
1487 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1488 | "maxLength" : 40, | |
1489 | "optional" : 1, | |
013dc89f DM |
1490 | "type" : "string", |
1491 | "typetext" : "<string>" | |
44660702 DM |
1492 | }, |
1493 | "pos" : { | |
1494 | "description" : "Update rule at position <pos>.", | |
1495 | "minimum" : 0, | |
1496 | "optional" : 1, | |
4bd7df8b | 1497 | "type" : "integer", |
013dc89f | 1498 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1499 | } |
1500 | } | |
1501 | }, | |
56122987 DM |
1502 | "permissions" : { |
1503 | "check" : [ | |
1504 | "perm", | |
1505 | "/", | |
1506 | [ | |
7aacca6f | 1507 | "Sys.Modify" |
56122987 DM |
1508 | ] |
1509 | ] | |
1510 | }, | |
44660702 | 1511 | "protected" : 1, |
56122987 DM |
1512 | "proxyto" : null, |
1513 | "returns" : { | |
7aacca6f | 1514 | "type" : "null" |
44660702 DM |
1515 | } |
1516 | }, | |
1517 | "GET" : { | |
e9cd3bd4 | 1518 | "allowtoken" : 1, |
44660702 DM |
1519 | "description" : "Get single rule data.", |
1520 | "method" : "GET", | |
1521 | "name" : "get_rule", | |
56122987 DM |
1522 | "parameters" : { |
1523 | "additionalProperties" : 0, | |
1524 | "properties" : { | |
1525 | "pos" : { | |
7aacca6f | 1526 | "description" : "Update rule at position <pos>.", |
44660702 | 1527 | "minimum" : 0, |
56122987 | 1528 | "optional" : 1, |
4bd7df8b | 1529 | "type" : "integer", |
013dc89f | 1530 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
1531 | } |
1532 | } | |
1533 | }, | |
7aacca6f DM |
1534 | "permissions" : { |
1535 | "check" : [ | |
1536 | "perm", | |
1537 | "/", | |
1538 | [ | |
1539 | "Sys.Audit" | |
1540 | ] | |
1541 | ] | |
56122987 | 1542 | }, |
44660702 DM |
1543 | "proxyto" : null, |
1544 | "returns" : { | |
7aacca6f | 1545 | "properties" : { |
e2d681b3 TL |
1546 | "action" : { |
1547 | "type" : "string" | |
1548 | }, | |
1549 | "comment" : { | |
1550 | "optional" : 1, | |
1551 | "type" : "string" | |
1552 | }, | |
1553 | "dest" : { | |
1554 | "optional" : 1, | |
1555 | "type" : "string" | |
1556 | }, | |
1557 | "dport" : { | |
1558 | "optional" : 1, | |
1559 | "type" : "string" | |
1560 | }, | |
1561 | "enable" : { | |
1562 | "optional" : 1, | |
1563 | "type" : "integer" | |
1564 | }, | |
1565 | "iface" : { | |
1566 | "optional" : 1, | |
1567 | "type" : "string" | |
1568 | }, | |
1569 | "ipversion" : { | |
1570 | "optional" : 1, | |
1571 | "type" : "integer" | |
1572 | }, | |
95895385 TL |
1573 | "log" : { |
1574 | "description" : "Log level for firewall rule", | |
1575 | "enum" : [ | |
1576 | "emerg", | |
1577 | "alert", | |
1578 | "crit", | |
1579 | "err", | |
1580 | "warning", | |
1581 | "notice", | |
1582 | "info", | |
1583 | "debug", | |
1584 | "nolog" | |
1585 | ], | |
1586 | "optional" : 1, | |
1587 | "type" : "string" | |
1588 | }, | |
e2d681b3 TL |
1589 | "macro" : { |
1590 | "optional" : 1, | |
5f26e15b | 1591 | "type" : "string" |
e2d681b3 | 1592 | }, |
44660702 DM |
1593 | "pos" : { |
1594 | "type" : "integer" | |
e2d681b3 TL |
1595 | }, |
1596 | "proto" : { | |
1597 | "optional" : 1, | |
1598 | "type" : "string" | |
1599 | }, | |
1600 | "source" : { | |
1601 | "optional" : 1, | |
1602 | "type" : "string" | |
1603 | }, | |
1604 | "sport" : { | |
1605 | "optional" : 1, | |
1606 | "type" : "string" | |
1607 | }, | |
1608 | "type" : { | |
1609 | "type" : "string" | |
7aacca6f | 1610 | } |
44660702 DM |
1611 | }, |
1612 | "type" : "object" | |
1613 | } | |
56122987 | 1614 | }, |
44660702 | 1615 | "PUT" : { |
e9cd3bd4 | 1616 | "allowtoken" : 1, |
44660702 DM |
1617 | "description" : "Modify rule data.", |
1618 | "method" : "PUT", | |
1619 | "name" : "update_rule", | |
7aacca6f DM |
1620 | "parameters" : { |
1621 | "additionalProperties" : 0, | |
1622 | "properties" : { | |
44660702 DM |
1623 | "action" : { |
1624 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
1625 | "maxLength" : 20, | |
1626 | "minLength" : 2, | |
1627 | "optional" : 1, | |
1628 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1629 | "type" : "string" | |
7aacca6f | 1630 | }, |
44660702 | 1631 | "comment" : { |
e94f0d56 | 1632 | "description" : "Descriptive comment.", |
44660702 | 1633 | "optional" : 1, |
013dc89f DM |
1634 | "type" : "string", |
1635 | "typetext" : "<string>" | |
7aacca6f | 1636 | }, |
44660702 DM |
1637 | "delete" : { |
1638 | "description" : "A list of settings you want to delete.", | |
1639 | "format" : "pve-configid-list", | |
1640 | "optional" : 1, | |
013dc89f DM |
1641 | "type" : "string", |
1642 | "typetext" : "<string>" | |
44660702 DM |
1643 | }, |
1644 | "dest" : { | |
1645 | "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.", | |
1646 | "format" : "pve-fw-addr-spec", | |
1647 | "optional" : 1, | |
013dc89f DM |
1648 | "type" : "string", |
1649 | "typetext" : "<string>" | |
44660702 DM |
1650 | }, |
1651 | "digest" : { | |
1652 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1653 | "maxLength" : 40, | |
1654 | "optional" : 1, | |
013dc89f DM |
1655 | "type" : "string", |
1656 | "typetext" : "<string>" | |
44660702 DM |
1657 | }, |
1658 | "dport" : { | |
1659 | "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.", | |
1660 | "format" : "pve-fw-dport-spec", | |
1661 | "optional" : 1, | |
013dc89f DM |
1662 | "type" : "string", |
1663 | "typetext" : "<string>" | |
44660702 DM |
1664 | }, |
1665 | "enable" : { | |
e94f0d56 | 1666 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
1667 | "minimum" : 0, |
1668 | "optional" : 1, | |
4bd7df8b | 1669 | "type" : "integer", |
013dc89f | 1670 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1671 | }, |
1672 | "iface" : { | |
1673 | "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.", | |
1674 | "format" : "pve-iface", | |
1675 | "maxLength" : 20, | |
7aacca6f | 1676 | "minLength" : 2, |
44660702 | 1677 | "optional" : 1, |
013dc89f DM |
1678 | "type" : "string", |
1679 | "typetext" : "<string>" | |
7aacca6f | 1680 | }, |
95895385 TL |
1681 | "log" : { |
1682 | "description" : "Log level for firewall rule.", | |
1683 | "enum" : [ | |
1684 | "emerg", | |
1685 | "alert", | |
1686 | "crit", | |
1687 | "err", | |
1688 | "warning", | |
1689 | "notice", | |
1690 | "info", | |
1691 | "debug", | |
1692 | "nolog" | |
1693 | ], | |
1694 | "optional" : 1, | |
1695 | "type" : "string" | |
1696 | }, | |
44660702 | 1697 | "macro" : { |
e94f0d56 | 1698 | "description" : "Use predefined standard macro.", |
44660702 DM |
1699 | "maxLength" : 128, |
1700 | "optional" : 1, | |
013dc89f DM |
1701 | "type" : "string", |
1702 | "typetext" : "<string>" | |
44660702 DM |
1703 | }, |
1704 | "moveto" : { | |
1705 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
1706 | "minimum" : 0, | |
1707 | "optional" : 1, | |
4bd7df8b | 1708 | "type" : "integer", |
013dc89f | 1709 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1710 | }, |
1711 | "pos" : { | |
1712 | "description" : "Update rule at position <pos>.", | |
1713 | "minimum" : 0, | |
1714 | "optional" : 1, | |
4bd7df8b | 1715 | "type" : "integer", |
013dc89f | 1716 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1717 | }, |
1718 | "proto" : { | |
1719 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
1720 | "format" : "pve-fw-protocol-spec", | |
1721 | "optional" : 1, | |
013dc89f DM |
1722 | "type" : "string", |
1723 | "typetext" : "<string>" | |
44660702 DM |
1724 | }, |
1725 | "source" : { | |
1726 | "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.", | |
1727 | "format" : "pve-fw-addr-spec", | |
1728 | "optional" : 1, | |
013dc89f DM |
1729 | "type" : "string", |
1730 | "typetext" : "<string>" | |
44660702 DM |
1731 | }, |
1732 | "sport" : { | |
1733 | "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.", | |
1734 | "format" : "pve-fw-sport-spec", | |
1735 | "optional" : 1, | |
013dc89f DM |
1736 | "type" : "string", |
1737 | "typetext" : "<string>" | |
44660702 DM |
1738 | }, |
1739 | "type" : { | |
e94f0d56 | 1740 | "description" : "Rule type.", |
44660702 DM |
1741 | "enum" : [ |
1742 | "in", | |
1743 | "out", | |
1744 | "group" | |
1745 | ], | |
1746 | "optional" : 1, | |
1747 | "type" : "string" | |
7aacca6f | 1748 | } |
56122987 DM |
1749 | } |
1750 | }, | |
7aacca6f DM |
1751 | "permissions" : { |
1752 | "check" : [ | |
1753 | "perm", | |
1754 | "/", | |
1755 | [ | |
1756 | "Sys.Modify" | |
1757 | ] | |
1758 | ] | |
1759 | }, | |
44660702 DM |
1760 | "protected" : 1, |
1761 | "proxyto" : null, | |
1762 | "returns" : { | |
1763 | "type" : "null" | |
1764 | } | |
7aacca6f | 1765 | } |
56122987 | 1766 | }, |
44660702 DM |
1767 | "leaf" : 1, |
1768 | "path" : "/cluster/firewall/rules/{pos}", | |
1769 | "text" : "{pos}" | |
7aacca6f DM |
1770 | } |
1771 | ], | |
7aacca6f | 1772 | "info" : { |
44660702 | 1773 | "GET" : { |
e9cd3bd4 | 1774 | "allowtoken" : 1, |
44660702 DM |
1775 | "description" : "List rules.", |
1776 | "method" : "GET", | |
1777 | "name" : "get_rules", | |
7aacca6f | 1778 | "parameters" : { |
44660702 | 1779 | "additionalProperties" : 0 |
7aacca6f DM |
1780 | }, |
1781 | "permissions" : { | |
1782 | "check" : [ | |
1783 | "perm", | |
1784 | "/", | |
1785 | [ | |
44660702 | 1786 | "Sys.Audit" |
7aacca6f DM |
1787 | ] |
1788 | ] | |
1789 | }, | |
44660702 | 1790 | "proxyto" : null, |
7aacca6f | 1791 | "returns" : { |
7aacca6f DM |
1792 | "items" : { |
1793 | "properties" : { | |
44660702 DM |
1794 | "pos" : { |
1795 | "type" : "integer" | |
7aacca6f DM |
1796 | } |
1797 | }, | |
1798 | "type" : "object" | |
56122987 | 1799 | }, |
7aacca6f DM |
1800 | "links" : [ |
1801 | { | |
44660702 | 1802 | "href" : "{pos}", |
7aacca6f DM |
1803 | "rel" : "child" |
1804 | } | |
44660702 DM |
1805 | ], |
1806 | "type" : "array" | |
7aacca6f | 1807 | } |
44660702 | 1808 | }, |
7aacca6f | 1809 | "POST" : { |
e9cd3bd4 | 1810 | "allowtoken" : 1, |
44660702 | 1811 | "description" : "Create new rule.", |
7aacca6f | 1812 | "method" : "POST", |
44660702 | 1813 | "name" : "create_rule", |
7aacca6f DM |
1814 | "parameters" : { |
1815 | "additionalProperties" : 0, | |
1816 | "properties" : { | |
44660702 DM |
1817 | "action" : { |
1818 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
1819 | "maxLength" : 20, | |
7aacca6f | 1820 | "minLength" : 2, |
44660702 DM |
1821 | "optional" : 0, |
1822 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1823 | "type" : "string" | |
7aacca6f DM |
1824 | }, |
1825 | "comment" : { | |
e94f0d56 | 1826 | "description" : "Descriptive comment.", |
7aacca6f | 1827 | "optional" : 1, |
013dc89f DM |
1828 | "type" : "string", |
1829 | "typetext" : "<string>" | |
44660702 DM |
1830 | }, |
1831 | "dest" : { | |
1832 | "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.", | |
1833 | "format" : "pve-fw-addr-spec", | |
1834 | "optional" : 1, | |
013dc89f DM |
1835 | "type" : "string", |
1836 | "typetext" : "<string>" | |
44660702 DM |
1837 | }, |
1838 | "digest" : { | |
1839 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1840 | "maxLength" : 40, | |
1841 | "optional" : 1, | |
013dc89f DM |
1842 | "type" : "string", |
1843 | "typetext" : "<string>" | |
44660702 DM |
1844 | }, |
1845 | "dport" : { | |
1846 | "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.", | |
1847 | "format" : "pve-fw-dport-spec", | |
1848 | "optional" : 1, | |
013dc89f DM |
1849 | "type" : "string", |
1850 | "typetext" : "<string>" | |
44660702 DM |
1851 | }, |
1852 | "enable" : { | |
e94f0d56 | 1853 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
1854 | "minimum" : 0, |
1855 | "optional" : 1, | |
4bd7df8b | 1856 | "type" : "integer", |
013dc89f | 1857 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1858 | }, |
1859 | "iface" : { | |
1860 | "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.", | |
1861 | "format" : "pve-iface", | |
1862 | "maxLength" : 20, | |
1863 | "minLength" : 2, | |
1864 | "optional" : 1, | |
013dc89f DM |
1865 | "type" : "string", |
1866 | "typetext" : "<string>" | |
44660702 | 1867 | }, |
95895385 TL |
1868 | "log" : { |
1869 | "description" : "Log level for firewall rule.", | |
1870 | "enum" : [ | |
1871 | "emerg", | |
1872 | "alert", | |
1873 | "crit", | |
1874 | "err", | |
1875 | "warning", | |
1876 | "notice", | |
1877 | "info", | |
1878 | "debug", | |
1879 | "nolog" | |
1880 | ], | |
1881 | "optional" : 1, | |
1882 | "type" : "string" | |
1883 | }, | |
44660702 | 1884 | "macro" : { |
e94f0d56 | 1885 | "description" : "Use predefined standard macro.", |
44660702 DM |
1886 | "maxLength" : 128, |
1887 | "optional" : 1, | |
013dc89f DM |
1888 | "type" : "string", |
1889 | "typetext" : "<string>" | |
44660702 DM |
1890 | }, |
1891 | "pos" : { | |
1892 | "description" : "Update rule at position <pos>.", | |
1893 | "minimum" : 0, | |
1894 | "optional" : 1, | |
4bd7df8b | 1895 | "type" : "integer", |
013dc89f | 1896 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1897 | }, |
1898 | "proto" : { | |
1899 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
1900 | "format" : "pve-fw-protocol-spec", | |
1901 | "optional" : 1, | |
013dc89f DM |
1902 | "type" : "string", |
1903 | "typetext" : "<string>" | |
44660702 DM |
1904 | }, |
1905 | "source" : { | |
1906 | "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.", | |
1907 | "format" : "pve-fw-addr-spec", | |
1908 | "optional" : 1, | |
013dc89f DM |
1909 | "type" : "string", |
1910 | "typetext" : "<string>" | |
44660702 DM |
1911 | }, |
1912 | "sport" : { | |
1913 | "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.", | |
1914 | "format" : "pve-fw-sport-spec", | |
1915 | "optional" : 1, | |
013dc89f DM |
1916 | "type" : "string", |
1917 | "typetext" : "<string>" | |
44660702 DM |
1918 | }, |
1919 | "type" : { | |
e94f0d56 | 1920 | "description" : "Rule type.", |
44660702 DM |
1921 | "enum" : [ |
1922 | "in", | |
1923 | "out", | |
1924 | "group" | |
1925 | ], | |
1926 | "optional" : 0, | |
1927 | "type" : "string" | |
7aacca6f DM |
1928 | } |
1929 | } | |
1930 | }, | |
1931 | "permissions" : { | |
1932 | "check" : [ | |
1933 | "perm", | |
1934 | "/", | |
1935 | [ | |
1936 | "Sys.Modify" | |
1937 | ] | |
1938 | ] | |
1939 | }, | |
44660702 DM |
1940 | "protected" : 1, |
1941 | "proxyto" : null, | |
7aacca6f | 1942 | "returns" : { |
44660702 DM |
1943 | "type" : "null" |
1944 | } | |
1945 | } | |
1946 | }, | |
1947 | "leaf" : 0, | |
1948 | "path" : "/cluster/firewall/rules", | |
1949 | "text" : "rules" | |
1950 | }, | |
1951 | { | |
1952 | "children" : [ | |
1953 | { | |
1954 | "children" : [ | |
1955 | { | |
1956 | "info" : { | |
1957 | "DELETE" : { | |
e9cd3bd4 | 1958 | "allowtoken" : 1, |
44660702 DM |
1959 | "description" : "Remove IP or Network from IPSet.", |
1960 | "method" : "DELETE", | |
1961 | "name" : "remove_ip", | |
1962 | "parameters" : { | |
1963 | "additionalProperties" : 0, | |
1964 | "properties" : { | |
1965 | "cidr" : { | |
1966 | "description" : "Network/IP specification in CIDR format.", | |
1967 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
1968 | "type" : "string", |
1969 | "typetext" : "<string>" | |
44660702 DM |
1970 | }, |
1971 | "digest" : { | |
1972 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1973 | "maxLength" : 40, | |
1974 | "optional" : 1, | |
013dc89f DM |
1975 | "type" : "string", |
1976 | "typetext" : "<string>" | |
44660702 DM |
1977 | }, |
1978 | "name" : { | |
1979 | "description" : "IP set name.", | |
1980 | "maxLength" : 64, | |
1981 | "minLength" : 2, | |
1982 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1983 | "type" : "string" | |
1984 | } | |
1985 | } | |
1986 | }, | |
1987 | "permissions" : { | |
1988 | "check" : [ | |
1989 | "perm", | |
1990 | "/", | |
1991 | [ | |
1992 | "Sys.Modify" | |
1993 | ] | |
1994 | ] | |
1995 | }, | |
1996 | "protected" : 1, | |
1997 | "returns" : { | |
1998 | "type" : "null" | |
1999 | } | |
7aacca6f | 2000 | }, |
44660702 | 2001 | "GET" : { |
e9cd3bd4 | 2002 | "allowtoken" : 1, |
44660702 DM |
2003 | "description" : "Read IP or Network settings from IPSet.", |
2004 | "method" : "GET", | |
2005 | "name" : "read_ip", | |
2006 | "parameters" : { | |
2007 | "additionalProperties" : 0, | |
2008 | "properties" : { | |
2009 | "cidr" : { | |
2010 | "description" : "Network/IP specification in CIDR format.", | |
2011 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
2012 | "type" : "string", |
2013 | "typetext" : "<string>" | |
44660702 DM |
2014 | }, |
2015 | "name" : { | |
2016 | "description" : "IP set name.", | |
2017 | "maxLength" : 64, | |
2018 | "minLength" : 2, | |
2019 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2020 | "type" : "string" | |
2021 | } | |
2022 | } | |
2023 | }, | |
2024 | "permissions" : { | |
2025 | "check" : [ | |
2026 | "perm", | |
2027 | "/", | |
2028 | [ | |
2029 | "Sys.Audit" | |
2030 | ] | |
2031 | ] | |
2032 | }, | |
2033 | "protected" : 1, | |
2034 | "returns" : { | |
2035 | "type" : "object" | |
2036 | } | |
7aacca6f | 2037 | }, |
44660702 | 2038 | "PUT" : { |
e9cd3bd4 | 2039 | "allowtoken" : 1, |
44660702 DM |
2040 | "description" : "Update IP or Network settings", |
2041 | "method" : "PUT", | |
2042 | "name" : "update_ip", | |
2043 | "parameters" : { | |
2044 | "additionalProperties" : 0, | |
2045 | "properties" : { | |
2046 | "cidr" : { | |
2047 | "description" : "Network/IP specification in CIDR format.", | |
2048 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
2049 | "type" : "string", |
2050 | "typetext" : "<string>" | |
44660702 DM |
2051 | }, |
2052 | "comment" : { | |
2053 | "optional" : 1, | |
013dc89f DM |
2054 | "type" : "string", |
2055 | "typetext" : "<string>" | |
44660702 DM |
2056 | }, |
2057 | "digest" : { | |
2058 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2059 | "maxLength" : 40, | |
2060 | "optional" : 1, | |
013dc89f DM |
2061 | "type" : "string", |
2062 | "typetext" : "<string>" | |
44660702 DM |
2063 | }, |
2064 | "name" : { | |
2065 | "description" : "IP set name.", | |
2066 | "maxLength" : 64, | |
2067 | "minLength" : 2, | |
2068 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2069 | "type" : "string" | |
2070 | }, | |
2071 | "nomatch" : { | |
2072 | "optional" : 1, | |
013dc89f DM |
2073 | "type" : "boolean", |
2074 | "typetext" : "<boolean>" | |
44660702 DM |
2075 | } |
2076 | } | |
2077 | }, | |
2078 | "permissions" : { | |
2079 | "check" : [ | |
2080 | "perm", | |
2081 | "/", | |
2082 | [ | |
2083 | "Sys.Modify" | |
2084 | ] | |
2085 | ] | |
2086 | }, | |
2087 | "protected" : 1, | |
2088 | "returns" : { | |
2089 | "type" : "null" | |
2090 | } | |
7aacca6f DM |
2091 | } |
2092 | }, | |
44660702 DM |
2093 | "leaf" : 1, |
2094 | "path" : "/cluster/firewall/ipset/{name}/{cidr}", | |
2095 | "text" : "{cidr}" | |
7aacca6f | 2096 | } |
44660702 | 2097 | ], |
7aacca6f DM |
2098 | "info" : { |
2099 | "DELETE" : { | |
e9cd3bd4 | 2100 | "allowtoken" : 1, |
44660702 DM |
2101 | "description" : "Delete IPSet", |
2102 | "method" : "DELETE", | |
2103 | "name" : "delete_ipset", | |
56122987 | 2104 | "parameters" : { |
44660702 | 2105 | "additionalProperties" : 0, |
56122987 DM |
2106 | "properties" : { |
2107 | "name" : { | |
44660702 | 2108 | "description" : "IP set name.", |
56122987 | 2109 | "maxLength" : 64, |
44660702 | 2110 | "minLength" : 2, |
56122987 | 2111 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 2112 | "type" : "string" |
56122987 | 2113 | } |
44660702 | 2114 | } |
7aacca6f | 2115 | }, |
56122987 DM |
2116 | "permissions" : { |
2117 | "check" : [ | |
2118 | "perm", | |
2119 | "/", | |
2120 | [ | |
2121 | "Sys.Modify" | |
2122 | ] | |
2123 | ] | |
2124 | }, | |
7aacca6f DM |
2125 | "protected" : 1, |
2126 | "returns" : { | |
2127 | "type" : "null" | |
44660702 | 2128 | } |
7aacca6f | 2129 | }, |
44660702 | 2130 | "GET" : { |
e9cd3bd4 | 2131 | "allowtoken" : 1, |
44660702 DM |
2132 | "description" : "List IPSet content", |
2133 | "method" : "GET", | |
2134 | "name" : "get_ipset", | |
56122987 DM |
2135 | "parameters" : { |
2136 | "additionalProperties" : 0, | |
2137 | "properties" : { | |
7aacca6f | 2138 | "name" : { |
44660702 | 2139 | "description" : "IP set name.", |
7aacca6f | 2140 | "maxLength" : 64, |
7aacca6f | 2141 | "minLength" : 2, |
44660702 | 2142 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 | 2143 | "type" : "string" |
56122987 | 2144 | } |
7aacca6f | 2145 | } |
56122987 | 2146 | }, |
56122987 DM |
2147 | "permissions" : { |
2148 | "check" : [ | |
2149 | "perm", | |
2150 | "/", | |
2151 | [ | |
44660702 | 2152 | "Sys.Audit" |
56122987 DM |
2153 | ] |
2154 | ] | |
44660702 DM |
2155 | }, |
2156 | "returns" : { | |
2157 | "items" : { | |
2158 | "properties" : { | |
2159 | "cidr" : { | |
2160 | "type" : "string" | |
2161 | }, | |
2162 | "comment" : { | |
2163 | "optional" : 1, | |
2164 | "type" : "string" | |
2165 | }, | |
2166 | "digest" : { | |
2167 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2168 | "maxLength" : 40, | |
2169 | "optional" : 0, | |
2170 | "type" : "string" | |
2171 | }, | |
2172 | "nomatch" : { | |
2173 | "optional" : 1, | |
2174 | "type" : "boolean" | |
2175 | } | |
2176 | }, | |
2177 | "type" : "object" | |
2178 | }, | |
2179 | "links" : [ | |
2180 | { | |
2181 | "href" : "{cidr}", | |
2182 | "rel" : "child" | |
2183 | } | |
2184 | ], | |
2185 | "type" : "array" | |
7aacca6f DM |
2186 | } |
2187 | }, | |
44660702 | 2188 | "POST" : { |
e9cd3bd4 | 2189 | "allowtoken" : 1, |
44660702 DM |
2190 | "description" : "Add IP or Network to IPSet.", |
2191 | "method" : "POST", | |
2192 | "name" : "create_ip", | |
56122987 DM |
2193 | "parameters" : { |
2194 | "additionalProperties" : 0, | |
2195 | "properties" : { | |
44660702 DM |
2196 | "cidr" : { |
2197 | "description" : "Network/IP specification in CIDR format.", | |
2198 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
2199 | "type" : "string", |
2200 | "typetext" : "<string>" | |
44660702 DM |
2201 | }, |
2202 | "comment" : { | |
2203 | "optional" : 1, | |
013dc89f DM |
2204 | "type" : "string", |
2205 | "typetext" : "<string>" | |
44660702 DM |
2206 | }, |
2207 | "name" : { | |
2208 | "description" : "IP set name.", | |
2209 | "maxLength" : 64, | |
2210 | "minLength" : 2, | |
2211 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2212 | "type" : "string" | |
2213 | }, | |
2214 | "nomatch" : { | |
2215 | "optional" : 1, | |
013dc89f DM |
2216 | "type" : "boolean", |
2217 | "typetext" : "<boolean>" | |
56122987 DM |
2218 | } |
2219 | } | |
2220 | }, | |
56122987 DM |
2221 | "permissions" : { |
2222 | "check" : [ | |
2223 | "perm", | |
2224 | "/", | |
2225 | [ | |
44660702 | 2226 | "Sys.Modify" |
56122987 DM |
2227 | ] |
2228 | ] | |
2229 | }, | |
44660702 | 2230 | "protected" : 1, |
56122987 | 2231 | "returns" : { |
44660702 DM |
2232 | "type" : "null" |
2233 | } | |
56122987 DM |
2234 | } |
2235 | }, | |
44660702 DM |
2236 | "leaf" : 0, |
2237 | "path" : "/cluster/firewall/ipset/{name}", | |
2238 | "text" : "{name}" | |
56122987 DM |
2239 | } |
2240 | ], | |
56122987 | 2241 | "info" : { |
44660702 | 2242 | "GET" : { |
e9cd3bd4 | 2243 | "allowtoken" : 1, |
44660702 DM |
2244 | "description" : "List IPSets", |
2245 | "method" : "GET", | |
2246 | "name" : "ipset_index", | |
56122987 | 2247 | "parameters" : { |
7aacca6f | 2248 | "additionalProperties" : 0 |
56122987 | 2249 | }, |
56122987 DM |
2250 | "permissions" : { |
2251 | "check" : [ | |
2252 | "perm", | |
2253 | "/", | |
2254 | [ | |
7aacca6f | 2255 | "Sys.Audit" |
56122987 DM |
2256 | ] |
2257 | ] | |
2258 | }, | |
56122987 DM |
2259 | "returns" : { |
2260 | "items" : { | |
2261 | "properties" : { | |
44660702 DM |
2262 | "comment" : { |
2263 | "optional" : 1, | |
2264 | "type" : "string" | |
56122987 | 2265 | }, |
44660702 DM |
2266 | "digest" : { |
2267 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2268 | "maxLength" : 40, | |
2269 | "optional" : 0, | |
2270 | "type" : "string" | |
2271 | }, | |
2272 | "name" : { | |
2273 | "description" : "IP set name.", | |
2274 | "maxLength" : 64, | |
2275 | "minLength" : 2, | |
2276 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7aacca6f | 2277 | "type" : "string" |
56122987 DM |
2278 | } |
2279 | }, | |
2280 | "type" : "object" | |
44660702 DM |
2281 | }, |
2282 | "links" : [ | |
2283 | { | |
2284 | "href" : "{name}", | |
2285 | "rel" : "child" | |
2286 | } | |
2287 | ], | |
2288 | "type" : "array" | |
56122987 | 2289 | } |
44660702 DM |
2290 | }, |
2291 | "POST" : { | |
e9cd3bd4 | 2292 | "allowtoken" : 1, |
44660702 DM |
2293 | "description" : "Create new IPSet", |
2294 | "method" : "POST", | |
2295 | "name" : "create_ipset", | |
7aacca6f DM |
2296 | "parameters" : { |
2297 | "additionalProperties" : 0, | |
2298 | "properties" : { | |
44660702 DM |
2299 | "comment" : { |
2300 | "optional" : 1, | |
013dc89f DM |
2301 | "type" : "string", |
2302 | "typetext" : "<string>" | |
44660702 DM |
2303 | }, |
2304 | "digest" : { | |
2305 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2306 | "maxLength" : 40, | |
2307 | "optional" : 1, | |
013dc89f DM |
2308 | "type" : "string", |
2309 | "typetext" : "<string>" | |
44660702 DM |
2310 | }, |
2311 | "name" : { | |
2312 | "description" : "IP set name.", | |
2313 | "maxLength" : 64, | |
2314 | "minLength" : 2, | |
2315 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2316 | "type" : "string" | |
2317 | }, | |
2318 | "rename" : { | |
2319 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
2320 | "maxLength" : 64, | |
2321 | "minLength" : 2, | |
2322 | "optional" : 1, | |
2323 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2324 | "type" : "string" | |
7aacca6f DM |
2325 | } |
2326 | } | |
2327 | }, | |
56122987 DM |
2328 | "permissions" : { |
2329 | "check" : [ | |
2330 | "perm", | |
2331 | "/", | |
2332 | [ | |
44660702 | 2333 | "Sys.Modify" |
56122987 DM |
2334 | ] |
2335 | ] | |
2336 | }, | |
44660702 | 2337 | "protected" : 1, |
56122987 | 2338 | "returns" : { |
44660702 DM |
2339 | "type" : "null" |
2340 | } | |
56122987 | 2341 | } |
7aacca6f | 2342 | }, |
44660702 DM |
2343 | "leaf" : 0, |
2344 | "path" : "/cluster/firewall/ipset", | |
2345 | "text" : "ipset" | |
2346 | }, | |
56122987 | 2347 | { |
44660702 DM |
2348 | "children" : [ |
2349 | { | |
2350 | "info" : { | |
2351 | "DELETE" : { | |
e9cd3bd4 | 2352 | "allowtoken" : 1, |
44660702 DM |
2353 | "description" : "Remove IP or Network alias.", |
2354 | "method" : "DELETE", | |
2355 | "name" : "remove_alias", | |
2356 | "parameters" : { | |
2357 | "additionalProperties" : 0, | |
2358 | "properties" : { | |
2359 | "digest" : { | |
2360 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2361 | "maxLength" : 40, | |
2362 | "optional" : 1, | |
013dc89f DM |
2363 | "type" : "string", |
2364 | "typetext" : "<string>" | |
44660702 DM |
2365 | }, |
2366 | "name" : { | |
2367 | "description" : "Alias name.", | |
2368 | "maxLength" : 64, | |
2369 | "minLength" : 2, | |
2370 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2371 | "type" : "string" | |
2372 | } | |
2373 | } | |
2374 | }, | |
2375 | "permissions" : { | |
2376 | "check" : [ | |
2377 | "perm", | |
2378 | "/", | |
2379 | [ | |
2380 | "Sys.Modify" | |
2381 | ] | |
2382 | ] | |
2383 | }, | |
2384 | "protected" : 1, | |
2385 | "returns" : { | |
2386 | "type" : "null" | |
2387 | } | |
2388 | }, | |
2389 | "GET" : { | |
e9cd3bd4 | 2390 | "allowtoken" : 1, |
44660702 DM |
2391 | "description" : "Read alias.", |
2392 | "method" : "GET", | |
2393 | "name" : "read_alias", | |
2394 | "parameters" : { | |
2395 | "additionalProperties" : 0, | |
2396 | "properties" : { | |
2397 | "name" : { | |
2398 | "description" : "Alias name.", | |
2399 | "maxLength" : 64, | |
2400 | "minLength" : 2, | |
2401 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2402 | "type" : "string" | |
2403 | } | |
2404 | } | |
2405 | }, | |
2406 | "permissions" : { | |
2407 | "check" : [ | |
2408 | "perm", | |
2409 | "/", | |
2410 | [ | |
2411 | "Sys.Audit" | |
2412 | ] | |
2413 | ] | |
2414 | }, | |
2415 | "returns" : { | |
2416 | "type" : "object" | |
2417 | } | |
2418 | }, | |
2419 | "PUT" : { | |
e9cd3bd4 | 2420 | "allowtoken" : 1, |
44660702 DM |
2421 | "description" : "Update IP or Network alias.", |
2422 | "method" : "PUT", | |
2423 | "name" : "update_alias", | |
2424 | "parameters" : { | |
2425 | "additionalProperties" : 0, | |
2426 | "properties" : { | |
2427 | "cidr" : { | |
2428 | "description" : "Network/IP specification in CIDR format.", | |
2429 | "format" : "IPorCIDR", | |
013dc89f DM |
2430 | "type" : "string", |
2431 | "typetext" : "<string>" | |
44660702 DM |
2432 | }, |
2433 | "comment" : { | |
2434 | "optional" : 1, | |
013dc89f DM |
2435 | "type" : "string", |
2436 | "typetext" : "<string>" | |
44660702 DM |
2437 | }, |
2438 | "digest" : { | |
2439 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2440 | "maxLength" : 40, | |
2441 | "optional" : 1, | |
013dc89f DM |
2442 | "type" : "string", |
2443 | "typetext" : "<string>" | |
44660702 DM |
2444 | }, |
2445 | "name" : { | |
2446 | "description" : "Alias name.", | |
2447 | "maxLength" : 64, | |
2448 | "minLength" : 2, | |
2449 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2450 | "type" : "string" | |
2451 | }, | |
2452 | "rename" : { | |
2453 | "description" : "Rename an existing alias.", | |
2454 | "maxLength" : 64, | |
2455 | "minLength" : 2, | |
2456 | "optional" : 1, | |
2457 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2458 | "type" : "string" | |
2459 | } | |
2460 | } | |
2461 | }, | |
2462 | "permissions" : { | |
2463 | "check" : [ | |
2464 | "perm", | |
2465 | "/", | |
2466 | [ | |
2467 | "Sys.Modify" | |
2468 | ] | |
2469 | ] | |
2470 | }, | |
2471 | "protected" : 1, | |
2472 | "returns" : { | |
2473 | "type" : "null" | |
2474 | } | |
2475 | } | |
2476 | }, | |
2477 | "leaf" : 1, | |
2478 | "path" : "/cluster/firewall/aliases/{name}", | |
2479 | "text" : "{name}" | |
2480 | } | |
2481 | ], | |
2482 | "info" : { | |
2483 | "GET" : { | |
e9cd3bd4 | 2484 | "allowtoken" : 1, |
44660702 DM |
2485 | "description" : "List aliases", |
2486 | "method" : "GET", | |
2487 | "name" : "get_aliases", | |
2488 | "parameters" : { | |
2489 | "additionalProperties" : 0 | |
2490 | }, | |
2491 | "permissions" : { | |
2492 | "check" : [ | |
2493 | "perm", | |
2494 | "/", | |
2495 | [ | |
2496 | "Sys.Audit" | |
2497 | ] | |
2498 | ] | |
2499 | }, | |
2500 | "returns" : { | |
2501 | "items" : { | |
2502 | "properties" : { | |
2503 | "cidr" : { | |
2504 | "type" : "string" | |
2505 | }, | |
2506 | "comment" : { | |
2507 | "optional" : 1, | |
2508 | "type" : "string" | |
2509 | }, | |
2510 | "digest" : { | |
2511 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2512 | "maxLength" : 40, | |
2513 | "optional" : 0, | |
2514 | "type" : "string" | |
2515 | }, | |
2516 | "name" : { | |
2517 | "type" : "string" | |
2518 | } | |
2519 | }, | |
2520 | "type" : "object" | |
2521 | }, | |
2522 | "links" : [ | |
2523 | { | |
2524 | "href" : "{name}", | |
2525 | "rel" : "child" | |
2526 | } | |
2527 | ], | |
2528 | "type" : "array" | |
2529 | } | |
2530 | }, | |
2531 | "POST" : { | |
e9cd3bd4 | 2532 | "allowtoken" : 1, |
44660702 DM |
2533 | "description" : "Create IP or Network Alias.", |
2534 | "method" : "POST", | |
2535 | "name" : "create_alias", | |
56122987 DM |
2536 | "parameters" : { |
2537 | "additionalProperties" : 0, | |
2538 | "properties" : { | |
44660702 DM |
2539 | "cidr" : { |
2540 | "description" : "Network/IP specification in CIDR format.", | |
2541 | "format" : "IPorCIDR", | |
013dc89f DM |
2542 | "type" : "string", |
2543 | "typetext" : "<string>" | |
44660702 DM |
2544 | }, |
2545 | "comment" : { | |
2546 | "optional" : 1, | |
013dc89f DM |
2547 | "type" : "string", |
2548 | "typetext" : "<string>" | |
44660702 DM |
2549 | }, |
2550 | "name" : { | |
2551 | "description" : "Alias name.", | |
2552 | "maxLength" : 64, | |
2553 | "minLength" : 2, | |
2554 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
2555 | "type" : "string" | |
56122987 DM |
2556 | } |
2557 | } | |
2558 | }, | |
56122987 DM |
2559 | "permissions" : { |
2560 | "check" : [ | |
2561 | "perm", | |
2562 | "/", | |
2563 | [ | |
2564 | "Sys.Modify" | |
2565 | ] | |
2566 | ] | |
2567 | }, | |
44660702 | 2568 | "protected" : 1, |
56122987 DM |
2569 | "returns" : { |
2570 | "type" : "null" | |
2571 | } | |
44660702 DM |
2572 | } |
2573 | }, | |
2574 | "leaf" : 0, | |
2575 | "path" : "/cluster/firewall/aliases", | |
2576 | "text" : "aliases" | |
2577 | }, | |
2578 | { | |
2579 | "info" : { | |
2580 | "GET" : { | |
e9cd3bd4 | 2581 | "allowtoken" : 1, |
44660702 DM |
2582 | "description" : "Get Firewall options.", |
2583 | "method" : "GET", | |
2584 | "name" : "get_options", | |
2585 | "parameters" : { | |
2586 | "additionalProperties" : 0 | |
7aacca6f | 2587 | }, |
56122987 DM |
2588 | "permissions" : { |
2589 | "check" : [ | |
2590 | "perm", | |
2591 | "/", | |
2592 | [ | |
44660702 | 2593 | "Sys.Audit" |
56122987 DM |
2594 | ] |
2595 | ] | |
2596 | }, | |
44660702 | 2597 | "returns" : { |
56122987 | 2598 | "properties" : { |
5da3d723 TL |
2599 | "ebtables" : { |
2600 | "default" : 1, | |
2601 | "description" : "Enable ebtables rules cluster wide.", | |
2602 | "optional" : 1, | |
2603 | "type" : "boolean" | |
2604 | }, | |
44660702 DM |
2605 | "enable" : { |
2606 | "description" : "Enable or disable the firewall cluster wide.", | |
2607 | "minimum" : 0, | |
56122987 | 2608 | "optional" : 1, |
7aacca6f | 2609 | "type" : "integer" |
56122987 | 2610 | }, |
95895385 TL |
2611 | "log_ratelimit" : { |
2612 | "description" : "Log ratelimiting settings", | |
2613 | "format" : { | |
2614 | "burst" : { | |
2615 | "default" : 5, | |
2616 | "description" : "Inital burst of packages which will get logged", | |
2617 | "minimum" : 0, | |
2618 | "optional" : 1, | |
2619 | "type" : "integer" | |
2620 | }, | |
2621 | "enable" : { | |
2622 | "default" : "1", | |
2623 | "default_key" : 1, | |
2624 | "description" : "Enable or disable log rate limiting", | |
2625 | "type" : "boolean" | |
2626 | }, | |
2627 | "rate" : { | |
2628 | "default" : "1/second", | |
2629 | "description" : "Frequency with which the burst bucket gets refilled", | |
2630 | "format_description" : "rate", | |
2631 | "optional" : 1, | |
2632 | "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)", | |
2633 | "type" : "string" | |
2634 | } | |
2635 | }, | |
2636 | "optional" : 1, | |
2637 | "type" : "string" | |
2638 | }, | |
44660702 DM |
2639 | "policy_in" : { |
2640 | "description" : "Input policy.", | |
2641 | "enum" : [ | |
2642 | "ACCEPT", | |
2643 | "REJECT", | |
2644 | "DROP" | |
2645 | ], | |
56122987 | 2646 | "optional" : 1, |
44660702 | 2647 | "type" : "string" |
7aacca6f | 2648 | }, |
44660702 DM |
2649 | "policy_out" : { |
2650 | "description" : "Output policy.", | |
2651 | "enum" : [ | |
2652 | "ACCEPT", | |
2653 | "REJECT", | |
2654 | "DROP" | |
2655 | ], | |
7aacca6f | 2656 | "optional" : 1, |
44660702 DM |
2657 | "type" : "string" |
2658 | } | |
2659 | }, | |
2660 | "type" : "object" | |
2661 | } | |
2662 | }, | |
2663 | "PUT" : { | |
e9cd3bd4 | 2664 | "allowtoken" : 1, |
44660702 DM |
2665 | "description" : "Set Firewall options.", |
2666 | "method" : "PUT", | |
2667 | "name" : "set_options", | |
2668 | "parameters" : { | |
2669 | "additionalProperties" : 0, | |
2670 | "properties" : { | |
2671 | "delete" : { | |
2672 | "description" : "A list of settings you want to delete.", | |
2673 | "format" : "pve-configid-list", | |
56122987 | 2674 | "optional" : 1, |
013dc89f DM |
2675 | "type" : "string", |
2676 | "typetext" : "<string>" | |
56122987 | 2677 | }, |
44660702 DM |
2678 | "digest" : { |
2679 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2680 | "maxLength" : 40, | |
56122987 | 2681 | "optional" : 1, |
013dc89f DM |
2682 | "type" : "string", |
2683 | "typetext" : "<string>" | |
56122987 | 2684 | }, |
5da3d723 TL |
2685 | "ebtables" : { |
2686 | "default" : 1, | |
2687 | "description" : "Enable ebtables rules cluster wide.", | |
2688 | "optional" : 1, | |
2689 | "type" : "boolean", | |
2690 | "typetext" : "<boolean>" | |
2691 | }, | |
44660702 DM |
2692 | "enable" : { |
2693 | "description" : "Enable or disable the firewall cluster wide.", | |
7aacca6f | 2694 | "minimum" : 0, |
56122987 | 2695 | "optional" : 1, |
4bd7df8b | 2696 | "type" : "integer", |
013dc89f | 2697 | "typetext" : "<integer> (0 - N)" |
56122987 | 2698 | }, |
95895385 TL |
2699 | "log_ratelimit" : { |
2700 | "description" : "Log ratelimiting settings", | |
2701 | "format" : { | |
2702 | "burst" : { | |
2703 | "default" : 5, | |
2704 | "description" : "Inital burst of packages which will get logged", | |
2705 | "minimum" : 0, | |
2706 | "optional" : 1, | |
2707 | "type" : "integer" | |
2708 | }, | |
2709 | "enable" : { | |
2710 | "default" : "1", | |
2711 | "default_key" : 1, | |
2712 | "description" : "Enable or disable log rate limiting", | |
2713 | "type" : "boolean" | |
2714 | }, | |
2715 | "rate" : { | |
2716 | "default" : "1/second", | |
2717 | "description" : "Frequency with which the burst bucket gets refilled", | |
2718 | "format_description" : "rate", | |
2719 | "optional" : 1, | |
2720 | "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)", | |
2721 | "type" : "string" | |
2722 | } | |
2723 | }, | |
2724 | "optional" : 1, | |
2725 | "type" : "string", | |
2726 | "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]" | |
2727 | }, | |
44660702 DM |
2728 | "policy_in" : { |
2729 | "description" : "Input policy.", | |
56122987 | 2730 | "enum" : [ |
44660702 DM |
2731 | "ACCEPT", |
2732 | "REJECT", | |
2733 | "DROP" | |
56122987 | 2734 | ], |
56122987 | 2735 | "optional" : 1, |
44660702 | 2736 | "type" : "string" |
56122987 | 2737 | }, |
44660702 DM |
2738 | "policy_out" : { |
2739 | "description" : "Output policy.", | |
56122987 | 2740 | "enum" : [ |
44660702 DM |
2741 | "ACCEPT", |
2742 | "REJECT", | |
2743 | "DROP" | |
56122987 | 2744 | ], |
7aacca6f | 2745 | "optional" : 1, |
44660702 | 2746 | "type" : "string" |
56122987 | 2747 | } |
44660702 DM |
2748 | } |
2749 | }, | |
2750 | "permissions" : { | |
2751 | "check" : [ | |
2752 | "perm", | |
2753 | "/", | |
2754 | [ | |
2755 | "Sys.Modify" | |
2756 | ] | |
2757 | ] | |
7aacca6f DM |
2758 | }, |
2759 | "protected" : 1, | |
44660702 DM |
2760 | "returns" : { |
2761 | "type" : "null" | |
2762 | } | |
2763 | } | |
2764 | }, | |
2765 | "leaf" : 1, | |
2766 | "path" : "/cluster/firewall/options", | |
2767 | "text" : "options" | |
2768 | }, | |
2769 | { | |
2770 | "info" : { | |
7aacca6f | 2771 | "GET" : { |
e9cd3bd4 | 2772 | "allowtoken" : 1, |
44660702 | 2773 | "description" : "List available macros", |
7aacca6f | 2774 | "method" : "GET", |
44660702 DM |
2775 | "name" : "get_macros", |
2776 | "parameters" : { | |
2777 | "additionalProperties" : 0 | |
7aacca6f | 2778 | }, |
44660702 DM |
2779 | "permissions" : { |
2780 | "user" : "all" | |
2781 | }, | |
2782 | "returns" : { | |
2783 | "items" : { | |
2784 | "properties" : { | |
2785 | "descr" : { | |
2786 | "description" : "More verbose description (if available).", | |
2787 | "type" : "string" | |
2788 | }, | |
2789 | "macro" : { | |
2790 | "description" : "Macro name.", | |
2791 | "type" : "string" | |
2792 | } | |
2793 | }, | |
2794 | "type" : "object" | |
2795 | }, | |
2796 | "type" : "array" | |
2797 | } | |
2798 | } | |
2799 | }, | |
2800 | "leaf" : 1, | |
2801 | "path" : "/cluster/firewall/macros", | |
2802 | "text" : "macros" | |
2803 | }, | |
2804 | { | |
2805 | "info" : { | |
2806 | "GET" : { | |
e9cd3bd4 | 2807 | "allowtoken" : 1, |
44660702 DM |
2808 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", |
2809 | "method" : "GET", | |
2810 | "name" : "refs", | |
7aacca6f | 2811 | "parameters" : { |
44660702 | 2812 | "additionalProperties" : 0, |
7aacca6f | 2813 | "properties" : { |
44660702 DM |
2814 | "type" : { |
2815 | "description" : "Only list references of specified type.", | |
2816 | "enum" : [ | |
2817 | "alias", | |
2818 | "ipset" | |
2819 | ], | |
2820 | "optional" : 1, | |
2821 | "type" : "string" | |
7aacca6f | 2822 | } |
44660702 | 2823 | } |
7aacca6f DM |
2824 | }, |
2825 | "permissions" : { | |
2826 | "check" : [ | |
2827 | "perm", | |
2828 | "/", | |
2829 | [ | |
2830 | "Sys.Audit" | |
2831 | ] | |
2832 | ] | |
2833 | }, | |
44660702 DM |
2834 | "returns" : { |
2835 | "items" : { | |
2836 | "properties" : { | |
2837 | "comment" : { | |
2838 | "optional" : 1, | |
2839 | "type" : "string" | |
2840 | }, | |
2841 | "name" : { | |
2842 | "type" : "string" | |
2843 | }, | |
2844 | "ref" : { | |
2845 | "type" : "string" | |
2846 | }, | |
2847 | "type" : { | |
2848 | "enum" : [ | |
2849 | "alias", | |
2850 | "ipset" | |
2851 | ], | |
2852 | "type" : "string" | |
2853 | } | |
2854 | }, | |
2855 | "type" : "object" | |
2856 | }, | |
2857 | "type" : "array" | |
2858 | } | |
56122987 DM |
2859 | } |
2860 | }, | |
7aacca6f | 2861 | "leaf" : 1, |
44660702 DM |
2862 | "path" : "/cluster/firewall/refs", |
2863 | "text" : "refs" | |
56122987 DM |
2864 | } |
2865 | ], | |
56122987 | 2866 | "info" : { |
44660702 | 2867 | "GET" : { |
e9cd3bd4 | 2868 | "allowtoken" : 1, |
44660702 DM |
2869 | "description" : "Directory index.", |
2870 | "method" : "GET", | |
2871 | "name" : "index", | |
56122987 | 2872 | "parameters" : { |
56122987 DM |
2873 | "additionalProperties" : 0 |
2874 | }, | |
44660702 DM |
2875 | "permissions" : { |
2876 | "user" : "all" | |
2877 | }, | |
56122987 | 2878 | "returns" : { |
44660702 DM |
2879 | "items" : { |
2880 | "properties" : {}, | |
2881 | "type" : "object" | |
2882 | }, | |
7aacca6f DM |
2883 | "links" : [ |
2884 | { | |
44660702 DM |
2885 | "href" : "{name}", |
2886 | "rel" : "child" | |
7aacca6f DM |
2887 | } |
2888 | ], | |
7aacca6f | 2889 | "type" : "array" |
7aacca6f | 2890 | } |
56122987 DM |
2891 | } |
2892 | }, | |
44660702 DM |
2893 | "leaf" : 0, |
2894 | "path" : "/cluster/firewall", | |
2895 | "text" : "firewall" | |
7aacca6f DM |
2896 | }, |
2897 | { | |
56122987 DM |
2898 | "children" : [ |
2899 | { | |
56122987 | 2900 | "info" : { |
44660702 | 2901 | "DELETE" : { |
e9cd3bd4 | 2902 | "allowtoken" : 1, |
44660702 DM |
2903 | "description" : "Delete vzdump backup job definition.", |
2904 | "method" : "DELETE", | |
2905 | "name" : "delete_job", | |
2906 | "parameters" : { | |
2907 | "additionalProperties" : 0, | |
2908 | "properties" : { | |
2909 | "id" : { | |
2910 | "description" : "The job ID.", | |
2911 | "maxLength" : 50, | |
013dc89f DM |
2912 | "type" : "string", |
2913 | "typetext" : "<string>" | |
44660702 DM |
2914 | } |
2915 | } | |
2916 | }, | |
2917 | "permissions" : { | |
2918 | "check" : [ | |
2919 | "perm", | |
2920 | "/", | |
2921 | [ | |
2922 | "Sys.Modify" | |
2923 | ] | |
2924 | ] | |
2925 | }, | |
2926 | "protected" : 1, | |
56122987 DM |
2927 | "returns" : { |
2928 | "type" : "null" | |
44660702 DM |
2929 | } |
2930 | }, | |
2931 | "GET" : { | |
e9cd3bd4 | 2932 | "allowtoken" : 1, |
44660702 DM |
2933 | "description" : "Read vzdump backup job definition.", |
2934 | "method" : "GET", | |
2935 | "name" : "read_job", | |
2936 | "parameters" : { | |
2937 | "additionalProperties" : 0, | |
2938 | "properties" : { | |
2939 | "id" : { | |
2940 | "description" : "The job ID.", | |
2941 | "maxLength" : 50, | |
013dc89f DM |
2942 | "type" : "string", |
2943 | "typetext" : "<string>" | |
44660702 DM |
2944 | } |
2945 | } | |
56122987 | 2946 | }, |
7aacca6f DM |
2947 | "permissions" : { |
2948 | "check" : [ | |
2949 | "perm", | |
2950 | "/", | |
2951 | [ | |
44660702 | 2952 | "Sys.Audit" |
7aacca6f DM |
2953 | ] |
2954 | ] | |
2955 | }, | |
44660702 DM |
2956 | "returns" : { |
2957 | "type" : "object" | |
2958 | } | |
2959 | }, | |
2960 | "PUT" : { | |
e9cd3bd4 | 2961 | "allowtoken" : 1, |
44660702 DM |
2962 | "description" : "Update vzdump backup job definition.", |
2963 | "method" : "PUT", | |
2964 | "name" : "update_job", | |
56122987 | 2965 | "parameters" : { |
44660702 | 2966 | "additionalProperties" : 0, |
56122987 | 2967 | "properties" : { |
44660702 DM |
2968 | "all" : { |
2969 | "default" : 0, | |
2970 | "description" : "Backup all known guest systems on this host.", | |
7aacca6f | 2971 | "optional" : 1, |
013dc89f DM |
2972 | "type" : "boolean", |
2973 | "typetext" : "<boolean>" | |
7aacca6f | 2974 | }, |
44660702 DM |
2975 | "bwlimit" : { |
2976 | "default" : 0, | |
2977 | "description" : "Limit I/O bandwidth (KBytes per second).", | |
2978 | "minimum" : 0, | |
2979 | "optional" : 1, | |
4bd7df8b | 2980 | "type" : "integer", |
013dc89f | 2981 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2982 | }, |
2983 | "compress" : { | |
2984 | "default" : "0", | |
2985 | "description" : "Compress dump file.", | |
7aacca6f | 2986 | "enum" : [ |
44660702 DM |
2987 | "0", |
2988 | "1", | |
2989 | "gzip", | |
c5aa7e14 TL |
2990 | "lzo", |
2991 | "zstd" | |
7aacca6f | 2992 | ], |
44660702 DM |
2993 | "optional" : 1, |
2994 | "type" : "string" | |
7aacca6f | 2995 | }, |
44660702 DM |
2996 | "delete" : { |
2997 | "description" : "A list of settings you want to delete.", | |
2998 | "format" : "pve-configid-list", | |
7aacca6f | 2999 | "optional" : 1, |
013dc89f DM |
3000 | "type" : "string", |
3001 | "typetext" : "<string>" | |
56122987 | 3002 | }, |
44660702 DM |
3003 | "dow" : { |
3004 | "description" : "Day of week selection.", | |
3005 | "format" : "pve-day-of-week-list", | |
7aacca6f | 3006 | "optional" : 1, |
013dc89f DM |
3007 | "type" : "string", |
3008 | "typetext" : "<string>" | |
56122987 | 3009 | }, |
44660702 DM |
3010 | "dumpdir" : { |
3011 | "description" : "Store resulting files to specified directory.", | |
56122987 | 3012 | "optional" : 1, |
013dc89f DM |
3013 | "type" : "string", |
3014 | "typetext" : "<string>" | |
56122987 | 3015 | }, |
44660702 DM |
3016 | "enabled" : { |
3017 | "default" : "1", | |
3018 | "description" : "Enable or disable the job.", | |
3019 | "optional" : 1, | |
013dc89f DM |
3020 | "type" : "boolean", |
3021 | "typetext" : "<boolean>" | |
44660702 DM |
3022 | }, |
3023 | "exclude" : { | |
3024 | "description" : "Exclude specified guest systems (assumes --all)", | |
3025 | "format" : "pve-vmid-list", | |
3026 | "optional" : 1, | |
013dc89f DM |
3027 | "type" : "string", |
3028 | "typetext" : "<string>" | |
44660702 DM |
3029 | }, |
3030 | "exclude-path" : { | |
3031 | "description" : "Exclude certain files/directories (shell globs).", | |
3032 | "format" : "string-alist", | |
3033 | "optional" : 1, | |
013dc89f DM |
3034 | "type" : "string", |
3035 | "typetext" : "<string>" | |
44660702 DM |
3036 | }, |
3037 | "id" : { | |
3038 | "description" : "The job ID.", | |
3039 | "maxLength" : 50, | |
013dc89f DM |
3040 | "type" : "string", |
3041 | "typetext" : "<string>" | |
44660702 DM |
3042 | }, |
3043 | "ionice" : { | |
3044 | "default" : 7, | |
3045 | "description" : "Set CFQ ionice priority.", | |
3046 | "maximum" : 8, | |
3047 | "minimum" : 0, | |
3048 | "optional" : 1, | |
4bd7df8b | 3049 | "type" : "integer", |
013dc89f | 3050 | "typetext" : "<integer> (0 - 8)" |
44660702 DM |
3051 | }, |
3052 | "lockwait" : { | |
3053 | "default" : 180, | |
3054 | "description" : "Maximal time to wait for the global lock (minutes).", | |
3055 | "minimum" : 0, | |
3056 | "optional" : 1, | |
4bd7df8b | 3057 | "type" : "integer", |
013dc89f | 3058 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3059 | }, |
3060 | "mailnotification" : { | |
3061 | "default" : "always", | |
3062 | "description" : "Specify when to send an email", | |
56122987 | 3063 | "enum" : [ |
44660702 DM |
3064 | "always", |
3065 | "failure" | |
56122987 | 3066 | ], |
44660702 DM |
3067 | "optional" : 1, |
3068 | "type" : "string" | |
3069 | }, | |
3070 | "mailto" : { | |
3071 | "description" : "Comma-separated list of email addresses that should receive email notifications.", | |
3072 | "format" : "string-list", | |
3073 | "optional" : 1, | |
013dc89f DM |
3074 | "type" : "string", |
3075 | "typetext" : "<string>" | |
44660702 DM |
3076 | }, |
3077 | "maxfiles" : { | |
3078 | "default" : 1, | |
3079 | "description" : "Maximal number of backup files per guest system.", | |
3080 | "minimum" : 1, | |
3081 | "optional" : 1, | |
4bd7df8b | 3082 | "type" : "integer", |
013dc89f | 3083 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
3084 | }, |
3085 | "mode" : { | |
3086 | "default" : "snapshot", | |
3087 | "description" : "Backup mode.", | |
3088 | "enum" : [ | |
3089 | "snapshot", | |
3090 | "suspend", | |
3091 | "stop" | |
3092 | ], | |
3093 | "optional" : 1, | |
3094 | "type" : "string" | |
3095 | }, | |
3096 | "node" : { | |
3097 | "description" : "Only run if executed on this node.", | |
3098 | "format" : "pve-node", | |
3099 | "optional" : 1, | |
013dc89f DM |
3100 | "type" : "string", |
3101 | "typetext" : "<string>" | |
44660702 DM |
3102 | }, |
3103 | "pigz" : { | |
3104 | "default" : 0, | |
3105 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
3106 | "optional" : 1, | |
013dc89f DM |
3107 | "type" : "integer", |
3108 | "typetext" : "<integer>" | |
44660702 | 3109 | }, |
9226ccbc TL |
3110 | "pool" : { |
3111 | "description" : "Backup all known guest systems included in the specified pool.", | |
3112 | "optional" : 1, | |
3113 | "type" : "string", | |
3114 | "typetext" : "<string>" | |
3115 | }, | |
44660702 DM |
3116 | "quiet" : { |
3117 | "default" : 0, | |
3118 | "description" : "Be quiet.", | |
3119 | "optional" : 1, | |
013dc89f DM |
3120 | "type" : "boolean", |
3121 | "typetext" : "<boolean>" | |
44660702 DM |
3122 | }, |
3123 | "remove" : { | |
3124 | "default" : 1, | |
3125 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", | |
3126 | "optional" : 1, | |
013dc89f DM |
3127 | "type" : "boolean", |
3128 | "typetext" : "<boolean>" | |
44660702 DM |
3129 | }, |
3130 | "script" : { | |
3131 | "description" : "Use specified hook script.", | |
3132 | "optional" : 1, | |
013dc89f DM |
3133 | "type" : "string", |
3134 | "typetext" : "<string>" | |
44660702 DM |
3135 | }, |
3136 | "size" : { | |
3137 | "default" : 1024, | |
3138 | "description" : "Unused, will be removed in a future release.", | |
3139 | "minimum" : 500, | |
3140 | "optional" : 1, | |
4bd7df8b | 3141 | "type" : "integer", |
013dc89f | 3142 | "typetext" : "<integer> (500 - N)" |
44660702 DM |
3143 | }, |
3144 | "starttime" : { | |
3145 | "description" : "Job Start time.", | |
3146 | "pattern" : "\\d{1,2}:\\d{1,2}", | |
56122987 | 3147 | "type" : "string", |
44660702 | 3148 | "typetext" : "HH:MM" |
7aacca6f | 3149 | }, |
44660702 DM |
3150 | "stdexcludes" : { |
3151 | "default" : 1, | |
3152 | "description" : "Exclude temporary files and logs.", | |
3153 | "optional" : 1, | |
013dc89f DM |
3154 | "type" : "boolean", |
3155 | "typetext" : "<boolean>" | |
44660702 DM |
3156 | }, |
3157 | "stop" : { | |
3158 | "default" : 0, | |
1e3f8156 | 3159 | "description" : "Stop running backup jobs on this host.", |
44660702 | 3160 | "optional" : 1, |
013dc89f DM |
3161 | "type" : "boolean", |
3162 | "typetext" : "<boolean>" | |
44660702 DM |
3163 | }, |
3164 | "stopwait" : { | |
3165 | "default" : 10, | |
3166 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
3167 | "minimum" : 0, | |
3168 | "optional" : 1, | |
4bd7df8b | 3169 | "type" : "integer", |
013dc89f | 3170 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3171 | }, |
3172 | "storage" : { | |
3173 | "description" : "Store resulting file to this storage.", | |
3174 | "format" : "pve-storage-id", | |
3175 | "optional" : 1, | |
013dc89f DM |
3176 | "type" : "string", |
3177 | "typetext" : "<string>" | |
56122987 | 3178 | }, |
44660702 DM |
3179 | "tmpdir" : { |
3180 | "description" : "Store temporary files to specified directory.", | |
3181 | "optional" : 1, | |
013dc89f DM |
3182 | "type" : "string", |
3183 | "typetext" : "<string>" | |
44660702 DM |
3184 | }, |
3185 | "vmid" : { | |
3186 | "description" : "The ID of the guest system you want to backup.", | |
3187 | "format" : "pve-vmid-list", | |
3188 | "optional" : 1, | |
013dc89f DM |
3189 | "type" : "string", |
3190 | "typetext" : "<string>" | |
c5aa7e14 TL |
3191 | }, |
3192 | "zstd" : { | |
3193 | "default" : 1, | |
3194 | "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", | |
3195 | "optional" : 1, | |
3196 | "type" : "integer", | |
3197 | "typetext" : "<integer>" | |
56122987 | 3198 | } |
44660702 | 3199 | } |
56122987 DM |
3200 | }, |
3201 | "permissions" : { | |
3202 | "check" : [ | |
3203 | "perm", | |
3204 | "/", | |
3205 | [ | |
44660702 | 3206 | "Sys.Modify" |
56122987 DM |
3207 | ] |
3208 | ] | |
3209 | }, | |
44660702 DM |
3210 | "protected" : 1, |
3211 | "returns" : { | |
3212 | "type" : "null" | |
7aacca6f | 3213 | } |
56122987 DM |
3214 | } |
3215 | }, | |
44660702 DM |
3216 | "leaf" : 1, |
3217 | "path" : "/cluster/backup/{id}", | |
3218 | "text" : "{id}" | |
3219 | } | |
3220 | ], | |
3221 | "info" : { | |
3222 | "GET" : { | |
e9cd3bd4 | 3223 | "allowtoken" : 1, |
44660702 DM |
3224 | "description" : "List vzdump backup schedule.", |
3225 | "method" : "GET", | |
3226 | "name" : "index", | |
3227 | "parameters" : { | |
3228 | "additionalProperties" : 0 | |
3229 | }, | |
3230 | "permissions" : { | |
3231 | "check" : [ | |
3232 | "perm", | |
3233 | "/", | |
3234 | [ | |
3235 | "Sys.Audit" | |
3236 | ] | |
3237 | ] | |
3238 | }, | |
3239 | "returns" : { | |
3240 | "items" : { | |
3241 | "properties" : { | |
3242 | "id" : { | |
1c532546 TL |
3243 | "description" : "The job ID.", |
3244 | "maxLength" : 50, | |
44660702 DM |
3245 | "type" : "string" |
3246 | } | |
3247 | }, | |
3248 | "type" : "object" | |
3249 | }, | |
3250 | "links" : [ | |
3251 | { | |
3252 | "href" : "{id}", | |
3253 | "rel" : "child" | |
3254 | } | |
3255 | ], | |
3256 | "type" : "array" | |
3257 | } | |
3258 | }, | |
3259 | "POST" : { | |
e9cd3bd4 | 3260 | "allowtoken" : 1, |
44660702 DM |
3261 | "description" : "Create new vzdump backup job.", |
3262 | "method" : "POST", | |
3263 | "name" : "create_job", | |
3264 | "parameters" : { | |
3265 | "additionalProperties" : 0, | |
3266 | "properties" : { | |
3267 | "all" : { | |
3268 | "default" : 0, | |
3269 | "description" : "Backup all known guest systems on this host.", | |
3270 | "optional" : 1, | |
013dc89f DM |
3271 | "type" : "boolean", |
3272 | "typetext" : "<boolean>" | |
44660702 DM |
3273 | }, |
3274 | "bwlimit" : { | |
3275 | "default" : 0, | |
3276 | "description" : "Limit I/O bandwidth (KBytes per second).", | |
3277 | "minimum" : 0, | |
3278 | "optional" : 1, | |
4bd7df8b | 3279 | "type" : "integer", |
013dc89f | 3280 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3281 | }, |
3282 | "compress" : { | |
3283 | "default" : "0", | |
3284 | "description" : "Compress dump file.", | |
3285 | "enum" : [ | |
3286 | "0", | |
3287 | "1", | |
3288 | "gzip", | |
c5aa7e14 TL |
3289 | "lzo", |
3290 | "zstd" | |
44660702 DM |
3291 | ], |
3292 | "optional" : 1, | |
3293 | "type" : "string" | |
3294 | }, | |
3295 | "dow" : { | |
3296 | "default" : "mon,tue,wed,thu,fri,sat,sun", | |
3297 | "description" : "Day of week selection.", | |
3298 | "format" : "pve-day-of-week-list", | |
3299 | "optional" : 1, | |
013dc89f DM |
3300 | "type" : "string", |
3301 | "typetext" : "<string>" | |
44660702 DM |
3302 | }, |
3303 | "dumpdir" : { | |
3304 | "description" : "Store resulting files to specified directory.", | |
3305 | "optional" : 1, | |
013dc89f DM |
3306 | "type" : "string", |
3307 | "typetext" : "<string>" | |
44660702 DM |
3308 | }, |
3309 | "enabled" : { | |
3310 | "default" : "1", | |
3311 | "description" : "Enable or disable the job.", | |
3312 | "optional" : 1, | |
013dc89f DM |
3313 | "type" : "boolean", |
3314 | "typetext" : "<boolean>" | |
44660702 DM |
3315 | }, |
3316 | "exclude" : { | |
3317 | "description" : "Exclude specified guest systems (assumes --all)", | |
3318 | "format" : "pve-vmid-list", | |
3319 | "optional" : 1, | |
013dc89f DM |
3320 | "type" : "string", |
3321 | "typetext" : "<string>" | |
44660702 DM |
3322 | }, |
3323 | "exclude-path" : { | |
3324 | "description" : "Exclude certain files/directories (shell globs).", | |
3325 | "format" : "string-alist", | |
3326 | "optional" : 1, | |
013dc89f DM |
3327 | "type" : "string", |
3328 | "typetext" : "<string>" | |
44660702 DM |
3329 | }, |
3330 | "ionice" : { | |
3331 | "default" : 7, | |
3332 | "description" : "Set CFQ ionice priority.", | |
3333 | "maximum" : 8, | |
3334 | "minimum" : 0, | |
3335 | "optional" : 1, | |
4bd7df8b | 3336 | "type" : "integer", |
013dc89f | 3337 | "typetext" : "<integer> (0 - 8)" |
44660702 DM |
3338 | }, |
3339 | "lockwait" : { | |
3340 | "default" : 180, | |
3341 | "description" : "Maximal time to wait for the global lock (minutes).", | |
3342 | "minimum" : 0, | |
3343 | "optional" : 1, | |
4bd7df8b | 3344 | "type" : "integer", |
013dc89f | 3345 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3346 | }, |
3347 | "mailnotification" : { | |
3348 | "default" : "always", | |
3349 | "description" : "Specify when to send an email", | |
3350 | "enum" : [ | |
3351 | "always", | |
3352 | "failure" | |
3353 | ], | |
3354 | "optional" : 1, | |
3355 | "type" : "string" | |
3356 | }, | |
3357 | "mailto" : { | |
3358 | "description" : "Comma-separated list of email addresses that should receive email notifications.", | |
3359 | "format" : "string-list", | |
3360 | "optional" : 1, | |
013dc89f DM |
3361 | "type" : "string", |
3362 | "typetext" : "<string>" | |
44660702 DM |
3363 | }, |
3364 | "maxfiles" : { | |
3365 | "default" : 1, | |
3366 | "description" : "Maximal number of backup files per guest system.", | |
3367 | "minimum" : 1, | |
3368 | "optional" : 1, | |
4bd7df8b | 3369 | "type" : "integer", |
013dc89f | 3370 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
3371 | }, |
3372 | "mode" : { | |
3373 | "default" : "snapshot", | |
3374 | "description" : "Backup mode.", | |
3375 | "enum" : [ | |
3376 | "snapshot", | |
3377 | "suspend", | |
3378 | "stop" | |
3379 | ], | |
3380 | "optional" : 1, | |
3381 | "type" : "string" | |
3382 | }, | |
3383 | "node" : { | |
3384 | "description" : "Only run if executed on this node.", | |
3385 | "format" : "pve-node", | |
3386 | "optional" : 1, | |
013dc89f DM |
3387 | "type" : "string", |
3388 | "typetext" : "<string>" | |
44660702 DM |
3389 | }, |
3390 | "pigz" : { | |
3391 | "default" : 0, | |
3392 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
3393 | "optional" : 1, | |
013dc89f DM |
3394 | "type" : "integer", |
3395 | "typetext" : "<integer>" | |
44660702 | 3396 | }, |
9226ccbc TL |
3397 | "pool" : { |
3398 | "description" : "Backup all known guest systems included in the specified pool.", | |
3399 | "optional" : 1, | |
3400 | "type" : "string", | |
3401 | "typetext" : "<string>" | |
3402 | }, | |
44660702 DM |
3403 | "quiet" : { |
3404 | "default" : 0, | |
3405 | "description" : "Be quiet.", | |
3406 | "optional" : 1, | |
013dc89f DM |
3407 | "type" : "boolean", |
3408 | "typetext" : "<boolean>" | |
44660702 DM |
3409 | }, |
3410 | "remove" : { | |
3411 | "default" : 1, | |
3412 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", | |
3413 | "optional" : 1, | |
013dc89f DM |
3414 | "type" : "boolean", |
3415 | "typetext" : "<boolean>" | |
44660702 DM |
3416 | }, |
3417 | "script" : { | |
3418 | "description" : "Use specified hook script.", | |
3419 | "optional" : 1, | |
013dc89f DM |
3420 | "type" : "string", |
3421 | "typetext" : "<string>" | |
44660702 DM |
3422 | }, |
3423 | "size" : { | |
3424 | "default" : 1024, | |
3425 | "description" : "Unused, will be removed in a future release.", | |
3426 | "minimum" : 500, | |
3427 | "optional" : 1, | |
4bd7df8b | 3428 | "type" : "integer", |
013dc89f | 3429 | "typetext" : "<integer> (500 - N)" |
44660702 DM |
3430 | }, |
3431 | "starttime" : { | |
3432 | "description" : "Job Start time.", | |
3433 | "pattern" : "\\d{1,2}:\\d{1,2}", | |
3434 | "type" : "string", | |
3435 | "typetext" : "HH:MM" | |
3436 | }, | |
3437 | "stdexcludes" : { | |
3438 | "default" : 1, | |
3439 | "description" : "Exclude temporary files and logs.", | |
3440 | "optional" : 1, | |
013dc89f DM |
3441 | "type" : "boolean", |
3442 | "typetext" : "<boolean>" | |
44660702 DM |
3443 | }, |
3444 | "stop" : { | |
3445 | "default" : 0, | |
1e3f8156 | 3446 | "description" : "Stop running backup jobs on this host.", |
44660702 | 3447 | "optional" : 1, |
013dc89f DM |
3448 | "type" : "boolean", |
3449 | "typetext" : "<boolean>" | |
44660702 DM |
3450 | }, |
3451 | "stopwait" : { | |
3452 | "default" : 10, | |
3453 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
3454 | "minimum" : 0, | |
3455 | "optional" : 1, | |
4bd7df8b | 3456 | "type" : "integer", |
013dc89f | 3457 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3458 | }, |
3459 | "storage" : { | |
3460 | "description" : "Store resulting file to this storage.", | |
3461 | "format" : "pve-storage-id", | |
3462 | "optional" : 1, | |
013dc89f DM |
3463 | "type" : "string", |
3464 | "typetext" : "<string>" | |
44660702 DM |
3465 | }, |
3466 | "tmpdir" : { | |
3467 | "description" : "Store temporary files to specified directory.", | |
3468 | "optional" : 1, | |
013dc89f DM |
3469 | "type" : "string", |
3470 | "typetext" : "<string>" | |
44660702 DM |
3471 | }, |
3472 | "vmid" : { | |
3473 | "description" : "The ID of the guest system you want to backup.", | |
3474 | "format" : "pve-vmid-list", | |
3475 | "optional" : 1, | |
013dc89f DM |
3476 | "type" : "string", |
3477 | "typetext" : "<string>" | |
c5aa7e14 TL |
3478 | }, |
3479 | "zstd" : { | |
3480 | "default" : 1, | |
3481 | "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", | |
3482 | "optional" : 1, | |
3483 | "type" : "integer", | |
3484 | "typetext" : "<integer>" | |
44660702 DM |
3485 | } |
3486 | } | |
3487 | }, | |
3488 | "permissions" : { | |
3489 | "check" : [ | |
3490 | "perm", | |
3491 | "/", | |
3492 | [ | |
3493 | "Sys.Modify" | |
3494 | ] | |
de0983cb DM |
3495 | ], |
3496 | "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user." | |
44660702 DM |
3497 | }, |
3498 | "protected" : 1, | |
3499 | "returns" : { | |
3500 | "type" : "null" | |
3501 | } | |
3502 | } | |
3503 | }, | |
3504 | "leaf" : 0, | |
3505 | "path" : "/cluster/backup", | |
3506 | "text" : "backup" | |
3507 | }, | |
3508 | { | |
3509 | "children" : [ | |
3510 | { | |
3511 | "children" : [ | |
3512 | { | |
3513 | "children" : [ | |
56122987 | 3514 | { |
56122987 DM |
3515 | "info" : { |
3516 | "POST" : { | |
e9cd3bd4 | 3517 | "allowtoken" : 1, |
44660702 DM |
3518 | "description" : "Request resource migration (online) to another node.", |
3519 | "method" : "POST", | |
3520 | "name" : "migrate", | |
56122987 | 3521 | "parameters" : { |
7aacca6f | 3522 | "additionalProperties" : 0, |
56122987 DM |
3523 | "properties" : { |
3524 | "node" : { | |
95895385 | 3525 | "description" : "Target node.", |
44660702 | 3526 | "format" : "pve-node", |
013dc89f DM |
3527 | "type" : "string", |
3528 | "typetext" : "<string>" | |
56122987 DM |
3529 | }, |
3530 | "sid" : { | |
44660702 | 3531 | "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 | 3532 | "format" : "pve-ha-resource-or-vm-id", |
7aacca6f | 3533 | "type" : "string", |
44660702 | 3534 | "typetext" : "<type>:<name>" |
56122987 | 3535 | } |
7aacca6f | 3536 | } |
56122987 | 3537 | }, |
56122987 DM |
3538 | "permissions" : { |
3539 | "check" : [ | |
3540 | "perm", | |
3541 | "/", | |
3542 | [ | |
3543 | "Sys.Console" | |
3544 | ] | |
3545 | ] | |
3546 | }, | |
7aacca6f | 3547 | "protected" : 1, |
7aacca6f DM |
3548 | "returns" : { |
3549 | "type" : "null" | |
44660702 | 3550 | } |
56122987 | 3551 | } |
44660702 DM |
3552 | }, |
3553 | "leaf" : 1, | |
3554 | "path" : "/cluster/ha/resources/{sid}/migrate", | |
3555 | "text" : "migrate" | |
3556 | }, | |
3557 | { | |
3558 | "info" : { | |
3559 | "POST" : { | |
e9cd3bd4 | 3560 | "allowtoken" : 1, |
44660702 DM |
3561 | "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.", |
3562 | "method" : "POST", | |
3563 | "name" : "relocate", | |
3564 | "parameters" : { | |
3565 | "additionalProperties" : 0, | |
3566 | "properties" : { | |
3567 | "node" : { | |
95895385 | 3568 | "description" : "Target node.", |
44660702 | 3569 | "format" : "pve-node", |
013dc89f DM |
3570 | "type" : "string", |
3571 | "typetext" : "<string>" | |
44660702 DM |
3572 | }, |
3573 | "sid" : { | |
3574 | "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).", | |
3575 | "format" : "pve-ha-resource-or-vm-id", | |
3576 | "type" : "string", | |
3577 | "typetext" : "<type>:<name>" | |
3578 | } | |
3579 | } | |
3580 | }, | |
3581 | "permissions" : { | |
3582 | "check" : [ | |
3583 | "perm", | |
3584 | "/", | |
3585 | [ | |
3586 | "Sys.Console" | |
3587 | ] | |
3588 | ] | |
3589 | }, | |
3590 | "protected" : 1, | |
3591 | "returns" : { | |
3592 | "type" : "null" | |
3593 | } | |
3594 | } | |
3595 | }, | |
3596 | "leaf" : 1, | |
3597 | "path" : "/cluster/ha/resources/{sid}/relocate", | |
3598 | "text" : "relocate" | |
3599 | } | |
3600 | ], | |
3601 | "info" : { | |
3602 | "DELETE" : { | |
e9cd3bd4 | 3603 | "allowtoken" : 1, |
44660702 DM |
3604 | "description" : "Delete resource configuration.", |
3605 | "method" : "DELETE", | |
3606 | "name" : "delete", | |
7aacca6f | 3607 | "parameters" : { |
44660702 | 3608 | "additionalProperties" : 0, |
7aacca6f DM |
3609 | "properties" : { |
3610 | "sid" : { | |
3611 | "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 | 3612 | "format" : "pve-ha-resource-or-vm-id", |
7aacca6f | 3613 | "type" : "string", |
44660702 DM |
3614 | "typetext" : "<type>:<name>" |
3615 | } | |
3616 | } | |
3617 | }, | |
3618 | "permissions" : { | |
3619 | "check" : [ | |
3620 | "perm", | |
3621 | "/", | |
3622 | [ | |
3623 | "Sys.Console" | |
3624 | ] | |
3625 | ] | |
3626 | }, | |
3627 | "protected" : 1, | |
3628 | "returns" : { | |
3629 | "type" : "null" | |
3630 | } | |
3631 | }, | |
3632 | "GET" : { | |
e9cd3bd4 | 3633 | "allowtoken" : 1, |
44660702 DM |
3634 | "description" : "Read resource configuration.", |
3635 | "method" : "GET", | |
3636 | "name" : "read", | |
3637 | "parameters" : { | |
3638 | "additionalProperties" : 0, | |
3639 | "properties" : { | |
3640 | "sid" : { | |
3641 | "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 | 3642 | "format" : "pve-ha-resource-or-vm-id", |
44660702 | 3643 | "type" : "string", |
7aacca6f DM |
3644 | "typetext" : "<type>:<name>" |
3645 | } | |
44660702 | 3646 | } |
7aacca6f DM |
3647 | }, |
3648 | "permissions" : { | |
3649 | "check" : [ | |
3650 | "perm", | |
3651 | "/", | |
3652 | [ | |
3653 | "Sys.Audit" | |
3654 | ] | |
3655 | ] | |
3656 | }, | |
5f26e15b TL |
3657 | "returns" : { |
3658 | "properties" : { | |
3659 | "comment" : { | |
3660 | "description" : "Description.", | |
3661 | "optional" : 1, | |
3662 | "type" : "string" | |
3663 | }, | |
3664 | "digest" : { | |
3665 | "description" : "Can be used to prevent concurrent modifications.", | |
3666 | "type" : "string" | |
3667 | }, | |
3668 | "group" : { | |
3669 | "description" : "The HA group identifier.", | |
3670 | "format" : "pve-configid", | |
3671 | "optional" : 1, | |
3672 | "type" : "string" | |
3673 | }, | |
3674 | "max_relocate" : { | |
3675 | "description" : "Maximal number of service relocate tries when a service failes to start.", | |
3676 | "optional" : 1, | |
3677 | "type" : "integer" | |
3678 | }, | |
3679 | "max_restart" : { | |
3680 | "description" : "Maximal number of tries to restart the service on a node after its start failed.", | |
3681 | "optional" : 1, | |
3682 | "type" : "integer" | |
3683 | }, | |
3684 | "sid" : { | |
3685 | "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).", | |
3686 | "format" : "pve-ha-resource-or-vm-id", | |
3687 | "type" : "string", | |
3688 | "typetext" : "<type>:<name>" | |
3689 | }, | |
3690 | "state" : { | |
3691 | "description" : "Requested resource state.", | |
3692 | "enum" : [ | |
3693 | "started", | |
3694 | "stopped", | |
3695 | "enabled", | |
3696 | "disabled", | |
3697 | "ignored" | |
3698 | ], | |
3699 | "optional" : 1, | |
3700 | "type" : "string" | |
3701 | }, | |
3702 | "type" : { | |
3703 | "description" : "The type of the resources.", | |
3704 | "type" : "string" | |
3705 | } | |
3706 | }, | |
3707 | "type" : "object" | |
3708 | } | |
7aacca6f | 3709 | }, |
56122987 | 3710 | "PUT" : { |
e9cd3bd4 | 3711 | "allowtoken" : 1, |
44660702 | 3712 | "description" : "Update resource configuration.", |
7aacca6f | 3713 | "method" : "PUT", |
44660702 | 3714 | "name" : "update", |
56122987 DM |
3715 | "parameters" : { |
3716 | "additionalProperties" : 0, | |
3717 | "properties" : { | |
44660702 DM |
3718 | "comment" : { |
3719 | "description" : "Description.", | |
3720 | "maxLength" : 4096, | |
56122987 | 3721 | "optional" : 1, |
013dc89f DM |
3722 | "type" : "string", |
3723 | "typetext" : "<string>" | |
56122987 | 3724 | }, |
7aacca6f DM |
3725 | "delete" : { |
3726 | "description" : "A list of settings you want to delete.", | |
7aacca6f | 3727 | "format" : "pve-configid-list", |
44660702 DM |
3728 | "maxLength" : 4096, |
3729 | "optional" : 1, | |
013dc89f DM |
3730 | "type" : "string", |
3731 | "typetext" : "<string>" | |
56122987 | 3732 | }, |
44660702 DM |
3733 | "digest" : { |
3734 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
3735 | "maxLength" : 40, | |
3736 | "optional" : 1, | |
013dc89f DM |
3737 | "type" : "string", |
3738 | "typetext" : "<string>" | |
56122987 | 3739 | }, |
44660702 DM |
3740 | "group" : { |
3741 | "description" : "The HA group identifier.", | |
3742 | "format" : "pve-configid", | |
7aacca6f | 3743 | "optional" : 1, |
013dc89f DM |
3744 | "type" : "string", |
3745 | "typetext" : "<string>" | |
56122987 DM |
3746 | }, |
3747 | "max_relocate" : { | |
7aacca6f | 3748 | "default" : 1, |
56122987 | 3749 | "description" : "Maximal number of service relocate tries when a service failes to start.", |
44660702 DM |
3750 | "minimum" : 0, |
3751 | "optional" : 1, | |
4bd7df8b | 3752 | "type" : "integer", |
013dc89f | 3753 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 3754 | }, |
44660702 DM |
3755 | "max_restart" : { |
3756 | "default" : 1, | |
3757 | "description" : "Maximal number of tries to restart the service on a node after its start failed.", | |
3758 | "minimum" : 0, | |
7aacca6f | 3759 | "optional" : 1, |
4bd7df8b | 3760 | "type" : "integer", |
013dc89f | 3761 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3762 | }, |
3763 | "sid" : { | |
3764 | "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).", | |
3765 | "format" : "pve-ha-resource-or-vm-id", | |
3766 | "type" : "string", | |
3767 | "typetext" : "<type>:<name>" | |
7aacca6f DM |
3768 | }, |
3769 | "state" : { | |
f13c1238 DM |
3770 | "default" : "started", |
3771 | "description" : "Requested resource state.", | |
7aacca6f | 3772 | "enum" : [ |
f13c1238 DM |
3773 | "started", |
3774 | "stopped", | |
7aacca6f | 3775 | "enabled", |
2489d6df WB |
3776 | "disabled", |
3777 | "ignored" | |
7aacca6f | 3778 | ], |
7aacca6f | 3779 | "optional" : 1, |
f13c1238 | 3780 | "type" : "string", |
2489d6df | 3781 | "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n" |
56122987 | 3782 | } |
44660702 DM |
3783 | }, |
3784 | "type" : "object" | |
56122987 | 3785 | }, |
56122987 DM |
3786 | "permissions" : { |
3787 | "check" : [ | |
3788 | "perm", | |
3789 | "/", | |
3790 | [ | |
3791 | "Sys.Console" | |
3792 | ] | |
3793 | ] | |
3794 | }, | |
7aacca6f | 3795 | "protected" : 1, |
56122987 DM |
3796 | "returns" : { |
3797 | "type" : "null" | |
3798 | } | |
3799 | } | |
3800 | }, | |
44660702 | 3801 | "leaf" : 0, |
7aacca6f | 3802 | "path" : "/cluster/ha/resources/{sid}", |
44660702 | 3803 | "text" : "{sid}" |
56122987 DM |
3804 | } |
3805 | ], | |
7aacca6f DM |
3806 | "info" : { |
3807 | "GET" : { | |
e9cd3bd4 | 3808 | "allowtoken" : 1, |
44660702 DM |
3809 | "description" : "List HA resources.", |
3810 | "method" : "GET", | |
3811 | "name" : "index", | |
7aacca6f | 3812 | "parameters" : { |
44660702 DM |
3813 | "additionalProperties" : 0, |
3814 | "properties" : { | |
3815 | "type" : { | |
3816 | "description" : "Only list resources of specific type", | |
3817 | "enum" : [ | |
3818 | "ct", | |
3819 | "vm" | |
3820 | ], | |
3821 | "optional" : 1, | |
3822 | "type" : "string" | |
3823 | } | |
3824 | } | |
7aacca6f | 3825 | }, |
7aacca6f DM |
3826 | "permissions" : { |
3827 | "check" : [ | |
3828 | "perm", | |
3829 | "/", | |
3830 | [ | |
3831 | "Sys.Audit" | |
3832 | ] | |
3833 | ] | |
3834 | }, | |
7aacca6f | 3835 | "returns" : { |
7aacca6f | 3836 | "items" : { |
7aacca6f | 3837 | "properties" : { |
44660702 | 3838 | "sid" : { |
7aacca6f DM |
3839 | "type" : "string" |
3840 | } | |
44660702 DM |
3841 | }, |
3842 | "type" : "object" | |
7aacca6f DM |
3843 | }, |
3844 | "links" : [ | |
3845 | { | |
44660702 | 3846 | "href" : "{sid}", |
7aacca6f DM |
3847 | "rel" : "child" |
3848 | } | |
44660702 DM |
3849 | ], |
3850 | "type" : "array" | |
7aacca6f DM |
3851 | } |
3852 | }, | |
3853 | "POST" : { | |
e9cd3bd4 | 3854 | "allowtoken" : 1, |
44660702 | 3855 | "description" : "Create a new HA resource.", |
7aacca6f | 3856 | "method" : "POST", |
44660702 | 3857 | "name" : "create", |
7aacca6f | 3858 | "parameters" : { |
44660702 | 3859 | "additionalProperties" : 0, |
7aacca6f DM |
3860 | "properties" : { |
3861 | "comment" : { | |
7aacca6f | 3862 | "description" : "Description.", |
44660702 | 3863 | "maxLength" : 4096, |
7aacca6f | 3864 | "optional" : 1, |
013dc89f DM |
3865 | "type" : "string", |
3866 | "typetext" : "<string>" | |
7aacca6f | 3867 | }, |
44660702 DM |
3868 | "group" : { |
3869 | "description" : "The HA group identifier.", | |
3870 | "format" : "pve-configid", | |
7aacca6f | 3871 | "optional" : 1, |
013dc89f DM |
3872 | "type" : "string", |
3873 | "typetext" : "<string>" | |
7aacca6f | 3874 | }, |
44660702 DM |
3875 | "max_relocate" : { |
3876 | "default" : 1, | |
3877 | "description" : "Maximal number of service relocate tries when a service failes to start.", | |
3878 | "minimum" : 0, | |
7aacca6f | 3879 | "optional" : 1, |
4bd7df8b | 3880 | "type" : "integer", |
013dc89f | 3881 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 3882 | }, |
44660702 DM |
3883 | "max_restart" : { |
3884 | "default" : 1, | |
3885 | "description" : "Maximal number of tries to restart the service on a node after its start failed.", | |
3886 | "minimum" : 0, | |
3887 | "optional" : 1, | |
4bd7df8b | 3888 | "type" : "integer", |
013dc89f | 3889 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3890 | }, |
3891 | "sid" : { | |
3892 | "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).", | |
3893 | "format" : "pve-ha-resource-or-vm-id", | |
3894 | "type" : "string", | |
3895 | "typetext" : "<type>:<name>" | |
3896 | }, | |
3897 | "state" : { | |
f13c1238 DM |
3898 | "default" : "started", |
3899 | "description" : "Requested resource state.", | |
7aacca6f | 3900 | "enum" : [ |
f13c1238 DM |
3901 | "started", |
3902 | "stopped", | |
44660702 | 3903 | "enabled", |
2489d6df WB |
3904 | "disabled", |
3905 | "ignored" | |
7aacca6f | 3906 | ], |
7aacca6f | 3907 | "optional" : 1, |
f13c1238 | 3908 | "type" : "string", |
2489d6df | 3909 | "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n" |
7aacca6f | 3910 | }, |
44660702 DM |
3911 | "type" : { |
3912 | "description" : "Resource type.", | |
3913 | "enum" : [ | |
3914 | "ct", | |
3915 | "vm" | |
3916 | ], | |
3917 | "optional" : 1, | |
3918 | "type" : "string" | |
3919 | } | |
7aacca6f | 3920 | }, |
44660702 | 3921 | "type" : "object" |
7aacca6f DM |
3922 | }, |
3923 | "permissions" : { | |
3924 | "check" : [ | |
3925 | "perm", | |
3926 | "/", | |
3927 | [ | |
3928 | "Sys.Console" | |
3929 | ] | |
3930 | ] | |
3931 | }, | |
44660702 DM |
3932 | "protected" : 1, |
3933 | "returns" : { | |
3934 | "type" : "null" | |
3935 | } | |
7aacca6f DM |
3936 | } |
3937 | }, | |
44660702 DM |
3938 | "leaf" : 0, |
3939 | "path" : "/cluster/ha/resources", | |
3940 | "text" : "resources" | |
3941 | }, | |
3942 | { | |
56122987 DM |
3943 | "children" : [ |
3944 | { | |
56122987 | 3945 | "info" : { |
44660702 | 3946 | "DELETE" : { |
e9cd3bd4 | 3947 | "allowtoken" : 1, |
44660702 DM |
3948 | "description" : "Delete ha group configuration.", |
3949 | "method" : "DELETE", | |
3950 | "name" : "delete", | |
56122987 | 3951 | "parameters" : { |
7aacca6f | 3952 | "additionalProperties" : 0, |
56122987 | 3953 | "properties" : { |
7aacca6f DM |
3954 | "group" : { |
3955 | "description" : "The HA group identifier.", | |
44660702 | 3956 | "format" : "pve-configid", |
013dc89f DM |
3957 | "type" : "string", |
3958 | "typetext" : "<string>" | |
56122987 | 3959 | } |
7aacca6f | 3960 | } |
56122987 | 3961 | }, |
56122987 DM |
3962 | "permissions" : { |
3963 | "check" : [ | |
3964 | "perm", | |
3965 | "/", | |
3966 | [ | |
7aacca6f | 3967 | "Sys.Console" |
56122987 DM |
3968 | ] |
3969 | ] | |
3970 | }, | |
44660702 | 3971 | "protected" : 1, |
7aacca6f DM |
3972 | "returns" : { |
3973 | "type" : "null" | |
56122987 DM |
3974 | } |
3975 | }, | |
44660702 | 3976 | "GET" : { |
e9cd3bd4 | 3977 | "allowtoken" : 1, |
44660702 DM |
3978 | "description" : "Read ha group configuration.", |
3979 | "method" : "GET", | |
3980 | "name" : "read", | |
56122987 | 3981 | "parameters" : { |
44660702 | 3982 | "additionalProperties" : 0, |
56122987 DM |
3983 | "properties" : { |
3984 | "group" : { | |
3985 | "description" : "The HA group identifier.", | |
44660702 | 3986 | "format" : "pve-configid", |
013dc89f DM |
3987 | "type" : "string", |
3988 | "typetext" : "<string>" | |
56122987 | 3989 | } |
44660702 | 3990 | } |
56122987 | 3991 | }, |
56122987 DM |
3992 | "permissions" : { |
3993 | "check" : [ | |
3994 | "perm", | |
3995 | "/", | |
3996 | [ | |
44660702 | 3997 | "Sys.Audit" |
56122987 DM |
3998 | ] |
3999 | ] | |
4000 | }, | |
44660702 | 4001 | "returns" : {} |
7aacca6f | 4002 | }, |
44660702 | 4003 | "PUT" : { |
e9cd3bd4 | 4004 | "allowtoken" : 1, |
44660702 DM |
4005 | "description" : "Update ha group configuration.", |
4006 | "method" : "PUT", | |
4007 | "name" : "update", | |
7aacca6f | 4008 | "parameters" : { |
44660702 | 4009 | "additionalProperties" : 0, |
7aacca6f | 4010 | "properties" : { |
44660702 DM |
4011 | "comment" : { |
4012 | "description" : "Description.", | |
4013 | "maxLength" : 4096, | |
4014 | "optional" : 1, | |
013dc89f DM |
4015 | "type" : "string", |
4016 | "typetext" : "<string>" | |
44660702 DM |
4017 | }, |
4018 | "delete" : { | |
4019 | "description" : "A list of settings you want to delete.", | |
4020 | "format" : "pve-configid-list", | |
4021 | "maxLength" : 4096, | |
4022 | "optional" : 1, | |
013dc89f DM |
4023 | "type" : "string", |
4024 | "typetext" : "<string>" | |
44660702 DM |
4025 | }, |
4026 | "digest" : { | |
4027 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4028 | "maxLength" : 40, | |
4029 | "optional" : 1, | |
013dc89f DM |
4030 | "type" : "string", |
4031 | "typetext" : "<string>" | |
44660702 | 4032 | }, |
7aacca6f DM |
4033 | "group" : { |
4034 | "description" : "The HA group identifier.", | |
44660702 | 4035 | "format" : "pve-configid", |
013dc89f DM |
4036 | "type" : "string", |
4037 | "typetext" : "<string>" | |
44660702 DM |
4038 | }, |
4039 | "nodes" : { | |
f13c1238 | 4040 | "description" : "List of cluster node names with optional priority.", |
44660702 DM |
4041 | "format" : "pve-ha-group-node-list", |
4042 | "optional" : 1, | |
7aacca6f | 4043 | "type" : "string", |
f13c1238 DM |
4044 | "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*", |
4045 | "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only." | |
44660702 DM |
4046 | }, |
4047 | "nofailback" : { | |
4048 | "default" : 0, | |
4049 | "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.", | |
4050 | "optional" : 1, | |
013dc89f DM |
4051 | "type" : "boolean", |
4052 | "typetext" : "<boolean>" | |
44660702 DM |
4053 | }, |
4054 | "restricted" : { | |
4055 | "default" : 0, | |
c4808e75 | 4056 | "description" : "Resources bound to restricted groups may only run on nodes defined by the group.", |
44660702 | 4057 | "optional" : 1, |
013dc89f | 4058 | "type" : "boolean", |
c4808e75 DM |
4059 | "typetext" : "<boolean>", |
4060 | "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member." | |
7aacca6f DM |
4061 | } |
4062 | }, | |
44660702 | 4063 | "type" : "object" |
7aacca6f | 4064 | }, |
7aacca6f DM |
4065 | "permissions" : { |
4066 | "check" : [ | |
4067 | "perm", | |
4068 | "/", | |
4069 | [ | |
44660702 | 4070 | "Sys.Console" |
7aacca6f DM |
4071 | ] |
4072 | ] | |
4073 | }, | |
44660702 DM |
4074 | "protected" : 1, |
4075 | "returns" : { | |
4076 | "type" : "null" | |
4077 | } | |
56122987 DM |
4078 | } |
4079 | }, | |
4080 | "leaf" : 1, | |
44660702 DM |
4081 | "path" : "/cluster/ha/groups/{group}", |
4082 | "text" : "{group}" | |
56122987 | 4083 | } |
44660702 DM |
4084 | ], |
4085 | "info" : { | |
4086 | "GET" : { | |
e9cd3bd4 | 4087 | "allowtoken" : 1, |
44660702 DM |
4088 | "description" : "Get HA groups.", |
4089 | "method" : "GET", | |
4090 | "name" : "index", | |
4091 | "parameters" : { | |
4092 | "additionalProperties" : 0 | |
4093 | }, | |
4094 | "permissions" : { | |
4095 | "check" : [ | |
4096 | "perm", | |
4097 | "/", | |
4098 | [ | |
4099 | "Sys.Audit" | |
4100 | ] | |
4101 | ] | |
4102 | }, | |
4103 | "returns" : { | |
4104 | "items" : { | |
4105 | "properties" : { | |
4106 | "group" : { | |
4107 | "type" : "string" | |
4108 | } | |
4109 | }, | |
4110 | "type" : "object" | |
4111 | }, | |
4112 | "links" : [ | |
4113 | { | |
4114 | "href" : "{group}", | |
4115 | "rel" : "child" | |
4116 | } | |
4117 | ], | |
4118 | "type" : "array" | |
4119 | } | |
4120 | }, | |
4121 | "POST" : { | |
e9cd3bd4 | 4122 | "allowtoken" : 1, |
44660702 DM |
4123 | "description" : "Create a new HA group.", |
4124 | "method" : "POST", | |
4125 | "name" : "create", | |
4126 | "parameters" : { | |
4127 | "additionalProperties" : 0, | |
4128 | "properties" : { | |
4129 | "comment" : { | |
4130 | "description" : "Description.", | |
4131 | "maxLength" : 4096, | |
4132 | "optional" : 1, | |
013dc89f DM |
4133 | "type" : "string", |
4134 | "typetext" : "<string>" | |
44660702 DM |
4135 | }, |
4136 | "group" : { | |
4137 | "description" : "The HA group identifier.", | |
4138 | "format" : "pve-configid", | |
013dc89f DM |
4139 | "type" : "string", |
4140 | "typetext" : "<string>" | |
44660702 DM |
4141 | }, |
4142 | "nodes" : { | |
f13c1238 | 4143 | "description" : "List of cluster node names with optional priority.", |
44660702 DM |
4144 | "format" : "pve-ha-group-node-list", |
4145 | "optional" : 0, | |
4146 | "type" : "string", | |
f13c1238 DM |
4147 | "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*", |
4148 | "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only." | |
44660702 DM |
4149 | }, |
4150 | "nofailback" : { | |
4151 | "default" : 0, | |
4152 | "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.", | |
4153 | "optional" : 1, | |
013dc89f DM |
4154 | "type" : "boolean", |
4155 | "typetext" : "<boolean>" | |
44660702 DM |
4156 | }, |
4157 | "restricted" : { | |
4158 | "default" : 0, | |
c4808e75 | 4159 | "description" : "Resources bound to restricted groups may only run on nodes defined by the group.", |
44660702 | 4160 | "optional" : 1, |
013dc89f | 4161 | "type" : "boolean", |
c4808e75 DM |
4162 | "typetext" : "<boolean>", |
4163 | "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member." | |
44660702 DM |
4164 | }, |
4165 | "type" : { | |
4166 | "description" : "Group type.", | |
4167 | "enum" : [ | |
4168 | "group" | |
4169 | ], | |
4170 | "optional" : 1, | |
4171 | "type" : "string" | |
4172 | } | |
4173 | }, | |
4174 | "type" : "object" | |
4175 | }, | |
4176 | "permissions" : { | |
4177 | "check" : [ | |
4178 | "perm", | |
4179 | "/", | |
4180 | [ | |
4181 | "Sys.Console" | |
4182 | ] | |
4183 | ] | |
4184 | }, | |
4185 | "protected" : 1, | |
4186 | "returns" : { | |
4187 | "type" : "null" | |
4188 | } | |
4189 | } | |
4190 | }, | |
4191 | "leaf" : 0, | |
4192 | "path" : "/cluster/ha/groups", | |
4193 | "text" : "groups" | |
7aacca6f DM |
4194 | }, |
4195 | { | |
7aacca6f DM |
4196 | "children" : [ |
4197 | { | |
4198 | "info" : { | |
4199 | "GET" : { | |
e9cd3bd4 | 4200 | "allowtoken" : 1, |
56122987 | 4201 | "description" : "Get HA manger status.", |
44660702 | 4202 | "method" : "GET", |
7aacca6f | 4203 | "name" : "status", |
44660702 DM |
4204 | "parameters" : { |
4205 | "additionalProperties" : 0 | |
4206 | }, | |
56122987 DM |
4207 | "permissions" : { |
4208 | "check" : [ | |
4209 | "perm", | |
4210 | "/", | |
4211 | [ | |
4212 | "Sys.Audit" | |
4213 | ] | |
4214 | ] | |
7aacca6f | 4215 | }, |
44660702 DM |
4216 | "returns" : { |
4217 | "type" : "array" | |
56122987 DM |
4218 | } |
4219 | } | |
7aacca6f | 4220 | }, |
7aacca6f | 4221 | "leaf" : 1, |
44660702 DM |
4222 | "path" : "/cluster/ha/status/current", |
4223 | "text" : "current" | |
56122987 DM |
4224 | }, |
4225 | { | |
4226 | "info" : { | |
4227 | "GET" : { | |
e9cd3bd4 | 4228 | "allowtoken" : 1, |
7aacca6f | 4229 | "description" : "Get full HA manger status, including LRM status.", |
44660702 DM |
4230 | "method" : "GET", |
4231 | "name" : "manager_status", | |
7aacca6f DM |
4232 | "parameters" : { |
4233 | "additionalProperties" : 0 | |
4234 | }, | |
56122987 DM |
4235 | "permissions" : { |
4236 | "check" : [ | |
4237 | "perm", | |
4238 | "/", | |
4239 | [ | |
4240 | "Sys.Audit" | |
4241 | ] | |
4242 | ] | |
44660702 DM |
4243 | }, |
4244 | "returns" : { | |
4245 | "type" : "object" | |
7aacca6f | 4246 | } |
56122987 DM |
4247 | } |
4248 | }, | |
56122987 | 4249 | "leaf" : 1, |
44660702 DM |
4250 | "path" : "/cluster/ha/status/manager_status", |
4251 | "text" : "manager_status" | |
56122987 DM |
4252 | } |
4253 | ], | |
56122987 DM |
4254 | "info" : { |
4255 | "GET" : { | |
e9cd3bd4 | 4256 | "allowtoken" : 1, |
44660702 | 4257 | "description" : "Directory index.", |
7aacca6f | 4258 | "method" : "GET", |
44660702 DM |
4259 | "name" : "index", |
4260 | "parameters" : { | |
4261 | "additionalProperties" : 0 | |
4262 | }, | |
4263 | "permissions" : { | |
4264 | "user" : "all" | |
4265 | }, | |
56122987 | 4266 | "returns" : { |
56122987 DM |
4267 | "items" : { |
4268 | "properties" : {}, | |
4269 | "type" : "object" | |
4270 | }, | |
4271 | "links" : [ | |
4272 | { | |
44660702 DM |
4273 | "href" : "{name}", |
4274 | "rel" : "child" | |
56122987 | 4275 | } |
7aacca6f DM |
4276 | ], |
4277 | "type" : "array" | |
44660702 | 4278 | } |
56122987 | 4279 | } |
7aacca6f | 4280 | }, |
44660702 | 4281 | "leaf" : 0, |
7aacca6f | 4282 | "path" : "/cluster/ha/status", |
44660702 | 4283 | "text" : "status" |
56122987 DM |
4284 | } |
4285 | ], | |
56122987 DM |
4286 | "info" : { |
4287 | "GET" : { | |
e9cd3bd4 | 4288 | "allowtoken" : 1, |
7aacca6f | 4289 | "description" : "Directory index.", |
44660702 DM |
4290 | "method" : "GET", |
4291 | "name" : "index", | |
4292 | "parameters" : { | |
4293 | "additionalProperties" : 0 | |
4294 | }, | |
7aacca6f DM |
4295 | "permissions" : { |
4296 | "check" : [ | |
4297 | "perm", | |
4298 | "/", | |
4299 | [ | |
4300 | "Sys.Audit" | |
4301 | ] | |
4302 | ] | |
4303 | }, | |
56122987 | 4304 | "returns" : { |
56122987 | 4305 | "items" : { |
7aacca6f DM |
4306 | "properties" : { |
4307 | "id" : { | |
4308 | "type" : "string" | |
4309 | } | |
44660702 DM |
4310 | }, |
4311 | "type" : "object" | |
7aacca6f DM |
4312 | }, |
4313 | "links" : [ | |
4314 | { | |
4315 | "href" : "{id}", | |
4316 | "rel" : "child" | |
4317 | } | |
44660702 DM |
4318 | ], |
4319 | "type" : "array" | |
7aacca6f DM |
4320 | } |
4321 | } | |
44660702 DM |
4322 | }, |
4323 | "leaf" : 0, | |
4324 | "path" : "/cluster/ha", | |
4325 | "text" : "ha" | |
7aacca6f | 4326 | }, |
a9a8e3d1 DM |
4327 | { |
4328 | "children" : [ | |
c5aa7e14 TL |
4329 | { |
4330 | "children" : [ | |
4331 | { | |
4332 | "info" : { | |
4333 | "DELETE" : { | |
4334 | "allowtoken" : 1, | |
4335 | "description" : "Delete ACME plugin configuration.", | |
4336 | "method" : "DELETE", | |
4337 | "name" : "delete_plugin", | |
4338 | "parameters" : { | |
4339 | "additionalProperties" : 0, | |
4340 | "properties" : { | |
4341 | "id" : { | |
4342 | "description" : "Unique identifier for ACME plugin instance.", | |
4343 | "format" : "pve-configid", | |
4344 | "type" : "string", | |
4345 | "typetext" : "<string>" | |
4346 | } | |
4347 | } | |
4348 | }, | |
4349 | "permissions" : { | |
4350 | "check" : [ | |
4351 | "perm", | |
4352 | "/", | |
4353 | [ | |
4354 | "Sys.Modify" | |
4355 | ] | |
4356 | ] | |
4357 | }, | |
4358 | "protected" : 1, | |
4359 | "returns" : { | |
4360 | "type" : "null" | |
4361 | } | |
4362 | }, | |
4363 | "GET" : { | |
4364 | "allowtoken" : 1, | |
4365 | "description" : "Get ACME plugin configuration.", | |
4366 | "method" : "GET", | |
4367 | "name" : "get_plugin_config", | |
4368 | "parameters" : { | |
4369 | "additionalProperties" : 0, | |
4370 | "properties" : { | |
4371 | "id" : { | |
4372 | "description" : "Unique identifier for ACME plugin instance.", | |
4373 | "format" : "pve-configid", | |
4374 | "type" : "string", | |
4375 | "typetext" : "<string>" | |
4376 | } | |
4377 | } | |
4378 | }, | |
4379 | "permissions" : { | |
4380 | "check" : [ | |
4381 | "perm", | |
4382 | "/", | |
4383 | [ | |
4384 | "Sys.Modify" | |
4385 | ] | |
4386 | ] | |
4387 | }, | |
4388 | "protected" : 1, | |
4389 | "returns" : { | |
4390 | "type" : "object" | |
4391 | } | |
4392 | }, | |
4393 | "PUT" : { | |
4394 | "allowtoken" : 1, | |
4395 | "description" : "Update ACME plugin configuration.", | |
4396 | "method" : "PUT", | |
4397 | "name" : "update_plugin", | |
4398 | "parameters" : { | |
4399 | "additionalProperties" : 0, | |
4400 | "properties" : { | |
4401 | "api" : { | |
4402 | "description" : "API plugin name", | |
4403 | "enum" : [ | |
4404 | "acmedns", | |
4405 | "acmeproxy", | |
4406 | "active24", | |
4407 | "ad", | |
4408 | "ali", | |
4409 | "autodns", | |
4410 | "aws", | |
4411 | "azure", | |
4412 | "cf", | |
4413 | "clouddns", | |
4414 | "cloudns", | |
4415 | "cn", | |
4416 | "conoha", | |
4417 | "constellix", | |
4418 | "cx", | |
4419 | "cyon", | |
4420 | "da", | |
4421 | "ddnss", | |
4422 | "desec", | |
4423 | "dgon", | |
4424 | "dnsimple", | |
4425 | "do", | |
4426 | "doapi", | |
4427 | "domeneshop", | |
4428 | "dp", | |
4429 | "dpi", | |
4430 | "dreamhost", | |
4431 | "duckdns", | |
4432 | "durabledns", | |
4433 | "dyn", | |
4434 | "dynu", | |
4435 | "dynv6", | |
4436 | "easydns", | |
4437 | "euserv", | |
4438 | "exoscale", | |
4439 | "freedns", | |
4440 | "gandi_livedns", | |
4441 | "gcloud", | |
4442 | "gd", | |
4443 | "gdnsdk", | |
4444 | "he", | |
4445 | "hexonet", | |
4446 | "hostingde", | |
4447 | "infoblox", | |
4448 | "internetbs", | |
4449 | "inwx", | |
4450 | "ispconfig", | |
4451 | "jd", | |
4452 | "kas", | |
4453 | "kinghost", | |
4454 | "knot", | |
4455 | "leaseweb", | |
4456 | "lexicon", | |
4457 | "linode", | |
4458 | "linode_v4", | |
4459 | "loopia", | |
4460 | "lua", | |
4461 | "maradns", | |
4462 | "me", | |
4463 | "miab", | |
4464 | "misaka", | |
4465 | "myapi", | |
4466 | "mydevil", | |
4467 | "mydnsjp", | |
4468 | "namecheap", | |
4469 | "namecom", | |
4470 | "namesilo", | |
4471 | "nederhost", | |
4472 | "neodigit", | |
4473 | "netcup", | |
4474 | "nic", | |
4475 | "nsd", | |
4476 | "nsone", | |
4477 | "nsupdate", | |
4478 | "nw", | |
4479 | "one", | |
4480 | "online", | |
4481 | "openprovider", | |
4482 | "opnsense", | |
4483 | "ovh", | |
4484 | "pdns", | |
4485 | "pleskxml", | |
4486 | "pointhq", | |
4487 | "rackspace", | |
4488 | "rcode0", | |
4489 | "regru", | |
4490 | "schlundtech", | |
4491 | "selectel", | |
4492 | "servercow", | |
4493 | "tele3", | |
4494 | "ultra", | |
4495 | "unoeuro", | |
4496 | "variomedia", | |
4497 | "vscale", | |
4498 | "vultr", | |
4499 | "yandex", | |
4500 | "zilore", | |
4501 | "zone", | |
4502 | "zonomi" | |
4503 | ], | |
4504 | "optional" : 1, | |
4505 | "type" : "string" | |
4506 | }, | |
4507 | "data" : { | |
4508 | "description" : "DNS plugin data. (base64 encoded)", | |
4509 | "optional" : 1, | |
4510 | "type" : "string", | |
4511 | "typetext" : "<string>" | |
4512 | }, | |
4513 | "delete" : { | |
4514 | "description" : "A list of settings you want to delete.", | |
4515 | "format" : "pve-configid-list", | |
4516 | "maxLength" : 4096, | |
4517 | "optional" : 1, | |
4518 | "type" : "string", | |
4519 | "typetext" : "<string>" | |
4520 | }, | |
4521 | "digest" : { | |
4522 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4523 | "maxLength" : 40, | |
4524 | "optional" : 1, | |
4525 | "type" : "string", | |
4526 | "typetext" : "<string>" | |
4527 | }, | |
4528 | "disable" : { | |
4529 | "description" : "Flag to disable the config.", | |
4530 | "optional" : 1, | |
4531 | "type" : "boolean", | |
4532 | "typetext" : "<boolean>" | |
4533 | }, | |
4534 | "id" : { | |
4535 | "description" : "ACME Plugin ID name", | |
4536 | "format" : "pve-configid", | |
4537 | "type" : "string", | |
4538 | "typetext" : "<string>" | |
4539 | }, | |
4540 | "nodes" : { | |
4541 | "description" : "List of cluster node names.", | |
4542 | "format" : "pve-node-list", | |
4543 | "optional" : 1, | |
4544 | "type" : "string", | |
4545 | "typetext" : "<string>" | |
4546 | }, | |
4547 | "validation-delay" : { | |
4548 | "default" : 30, | |
4549 | "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.", | |
4550 | "maximum" : 172800, | |
4551 | "minimum" : 0, | |
4552 | "optional" : 1, | |
4553 | "type" : "integer", | |
4554 | "typetext" : "<integer> (0 - 172800)" | |
4555 | } | |
4556 | }, | |
4557 | "type" : "object" | |
4558 | }, | |
4559 | "permissions" : { | |
4560 | "check" : [ | |
4561 | "perm", | |
4562 | "/", | |
4563 | [ | |
4564 | "Sys.Modify" | |
4565 | ] | |
4566 | ] | |
4567 | }, | |
4568 | "protected" : 1, | |
4569 | "returns" : { | |
4570 | "type" : "null" | |
4571 | } | |
4572 | } | |
4573 | }, | |
4574 | "leaf" : 1, | |
4575 | "path" : "/cluster/acme/plugins/{id}", | |
4576 | "text" : "{id}" | |
4577 | } | |
4578 | ], | |
4579 | "info" : { | |
4580 | "GET" : { | |
4581 | "allowtoken" : 1, | |
4582 | "description" : "ACME plugin index.", | |
4583 | "method" : "GET", | |
4584 | "name" : "index", | |
4585 | "parameters" : { | |
4586 | "additionalProperties" : 0, | |
4587 | "properties" : { | |
4588 | "type" : { | |
4589 | "description" : "Only list ACME plugins of a specific type", | |
4590 | "enum" : [ | |
4591 | "dns", | |
4592 | "standalone" | |
4593 | ], | |
4594 | "optional" : 1, | |
4595 | "type" : "string" | |
4596 | } | |
4597 | } | |
4598 | }, | |
4599 | "permissions" : { | |
4600 | "check" : [ | |
4601 | "perm", | |
4602 | "/", | |
4603 | [ | |
4604 | "Sys.Modify" | |
4605 | ] | |
4606 | ] | |
4607 | }, | |
4608 | "protected" : 1, | |
4609 | "returns" : { | |
4610 | "items" : { | |
4611 | "properties" : { | |
4612 | "plugin" : { | |
4613 | "description" : "Unique identifier for ACME plugin instance.", | |
4614 | "format" : "pve-configid", | |
4615 | "type" : "string" | |
4616 | } | |
4617 | }, | |
4618 | "type" : "object" | |
4619 | }, | |
4620 | "links" : [ | |
4621 | { | |
4622 | "href" : "{plugin}", | |
4623 | "rel" : "child" | |
4624 | } | |
4625 | ], | |
4626 | "type" : "array" | |
4627 | } | |
4628 | }, | |
4629 | "POST" : { | |
4630 | "allowtoken" : 1, | |
4631 | "description" : "Add ACME plugin configuration.", | |
4632 | "method" : "POST", | |
4633 | "name" : "add_plugin", | |
4634 | "parameters" : { | |
4635 | "additionalProperties" : 0, | |
4636 | "properties" : { | |
4637 | "api" : { | |
4638 | "description" : "API plugin name", | |
4639 | "enum" : [ | |
4640 | "acmedns", | |
4641 | "acmeproxy", | |
4642 | "active24", | |
4643 | "ad", | |
4644 | "ali", | |
4645 | "autodns", | |
4646 | "aws", | |
4647 | "azure", | |
4648 | "cf", | |
4649 | "clouddns", | |
4650 | "cloudns", | |
4651 | "cn", | |
4652 | "conoha", | |
4653 | "constellix", | |
4654 | "cx", | |
4655 | "cyon", | |
4656 | "da", | |
4657 | "ddnss", | |
4658 | "desec", | |
4659 | "dgon", | |
4660 | "dnsimple", | |
4661 | "do", | |
4662 | "doapi", | |
4663 | "domeneshop", | |
4664 | "dp", | |
4665 | "dpi", | |
4666 | "dreamhost", | |
4667 | "duckdns", | |
4668 | "durabledns", | |
4669 | "dyn", | |
4670 | "dynu", | |
4671 | "dynv6", | |
4672 | "easydns", | |
4673 | "euserv", | |
4674 | "exoscale", | |
4675 | "freedns", | |
4676 | "gandi_livedns", | |
4677 | "gcloud", | |
4678 | "gd", | |
4679 | "gdnsdk", | |
4680 | "he", | |
4681 | "hexonet", | |
4682 | "hostingde", | |
4683 | "infoblox", | |
4684 | "internetbs", | |
4685 | "inwx", | |
4686 | "ispconfig", | |
4687 | "jd", | |
4688 | "kas", | |
4689 | "kinghost", | |
4690 | "knot", | |
4691 | "leaseweb", | |
4692 | "lexicon", | |
4693 | "linode", | |
4694 | "linode_v4", | |
4695 | "loopia", | |
4696 | "lua", | |
4697 | "maradns", | |
4698 | "me", | |
4699 | "miab", | |
4700 | "misaka", | |
4701 | "myapi", | |
4702 | "mydevil", | |
4703 | "mydnsjp", | |
4704 | "namecheap", | |
4705 | "namecom", | |
4706 | "namesilo", | |
4707 | "nederhost", | |
4708 | "neodigit", | |
4709 | "netcup", | |
4710 | "nic", | |
4711 | "nsd", | |
4712 | "nsone", | |
4713 | "nsupdate", | |
4714 | "nw", | |
4715 | "one", | |
4716 | "online", | |
4717 | "openprovider", | |
4718 | "opnsense", | |
4719 | "ovh", | |
4720 | "pdns", | |
4721 | "pleskxml", | |
4722 | "pointhq", | |
4723 | "rackspace", | |
4724 | "rcode0", | |
4725 | "regru", | |
4726 | "schlundtech", | |
4727 | "selectel", | |
4728 | "servercow", | |
4729 | "tele3", | |
4730 | "ultra", | |
4731 | "unoeuro", | |
4732 | "variomedia", | |
4733 | "vscale", | |
4734 | "vultr", | |
4735 | "yandex", | |
4736 | "zilore", | |
4737 | "zone", | |
4738 | "zonomi" | |
4739 | ], | |
4740 | "optional" : 1, | |
4741 | "type" : "string" | |
4742 | }, | |
4743 | "data" : { | |
4744 | "description" : "DNS plugin data. (base64 encoded)", | |
4745 | "optional" : 1, | |
4746 | "type" : "string", | |
4747 | "typetext" : "<string>" | |
4748 | }, | |
4749 | "disable" : { | |
4750 | "description" : "Flag to disable the config.", | |
4751 | "optional" : 1, | |
4752 | "type" : "boolean", | |
4753 | "typetext" : "<boolean>" | |
4754 | }, | |
4755 | "id" : { | |
4756 | "description" : "ACME Plugin ID name", | |
4757 | "format" : "pve-configid", | |
4758 | "type" : "string", | |
4759 | "typetext" : "<string>" | |
4760 | }, | |
4761 | "nodes" : { | |
4762 | "description" : "List of cluster node names.", | |
4763 | "format" : "pve-node-list", | |
4764 | "optional" : 1, | |
4765 | "type" : "string", | |
4766 | "typetext" : "<string>" | |
4767 | }, | |
4768 | "type" : { | |
4769 | "description" : "ACME challenge type.", | |
4770 | "enum" : [ | |
4771 | "dns", | |
4772 | "standalone" | |
4773 | ], | |
4774 | "type" : "string" | |
4775 | }, | |
4776 | "validation-delay" : { | |
4777 | "default" : 30, | |
4778 | "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.", | |
4779 | "maximum" : 172800, | |
4780 | "minimum" : 0, | |
4781 | "optional" : 1, | |
4782 | "type" : "integer", | |
4783 | "typetext" : "<integer> (0 - 172800)" | |
4784 | } | |
4785 | }, | |
4786 | "type" : "object" | |
4787 | }, | |
4788 | "permissions" : { | |
4789 | "check" : [ | |
4790 | "perm", | |
4791 | "/", | |
4792 | [ | |
4793 | "Sys.Modify" | |
4794 | ] | |
4795 | ] | |
4796 | }, | |
4797 | "protected" : 1, | |
4798 | "returns" : { | |
4799 | "type" : "null" | |
4800 | } | |
4801 | } | |
4802 | }, | |
4803 | "leaf" : 0, | |
4804 | "path" : "/cluster/acme/plugins", | |
4805 | "text" : "plugins" | |
4806 | }, | |
a9a8e3d1 DM |
4807 | { |
4808 | "children" : [ | |
4809 | { | |
4810 | "info" : { | |
4811 | "DELETE" : { | |
e9cd3bd4 | 4812 | "allowtoken" : 1, |
a9a8e3d1 DM |
4813 | "description" : "Deactivate existing ACME account at CA.", |
4814 | "method" : "DELETE", | |
4815 | "name" : "deactivate_account", | |
4816 | "parameters" : { | |
4817 | "additionalProperties" : 0, | |
4818 | "properties" : { | |
4819 | "name" : { | |
4820 | "default" : "default", | |
4821 | "description" : "ACME account config file name.", | |
4822 | "format" : "pve-configid", | |
4823 | "format_description" : "name", | |
4824 | "optional" : 1, | |
4825 | "type" : "string", | |
4826 | "typetext" : "<name>" | |
4827 | } | |
4828 | } | |
4829 | }, | |
4830 | "protected" : 1, | |
4831 | "returns" : { | |
4832 | "type" : "string" | |
4833 | } | |
4834 | }, | |
4835 | "GET" : { | |
e9cd3bd4 | 4836 | "allowtoken" : 1, |
a9a8e3d1 DM |
4837 | "description" : "Return existing ACME account information.", |
4838 | "method" : "GET", | |
4839 | "name" : "get_account", | |
4840 | "parameters" : { | |
4841 | "additionalProperties" : 0, | |
4842 | "properties" : { | |
4843 | "name" : { | |
4844 | "default" : "default", | |
4845 | "description" : "ACME account config file name.", | |
4846 | "format" : "pve-configid", | |
4847 | "format_description" : "name", | |
4848 | "optional" : 1, | |
4849 | "type" : "string", | |
4850 | "typetext" : "<name>" | |
4851 | } | |
4852 | } | |
4853 | }, | |
4854 | "protected" : 1, | |
4855 | "returns" : { | |
4856 | "additionalProperties" : 0, | |
4857 | "properties" : { | |
4858 | "account" : { | |
4859 | "optional" : 1, | |
4d47f125 | 4860 | "renderer" : "yaml", |
a9a8e3d1 DM |
4861 | "type" : "object" |
4862 | }, | |
4863 | "directory" : { | |
4864 | "description" : "URL of ACME CA directory endpoint.", | |
4865 | "optional" : 1, | |
4866 | "pattern" : "^https?://.*", | |
4867 | "type" : "string" | |
4868 | }, | |
4869 | "location" : { | |
4870 | "optional" : 1, | |
4871 | "type" : "string" | |
4872 | }, | |
4873 | "tos" : { | |
4874 | "optional" : 1, | |
4875 | "type" : "string" | |
4876 | } | |
4877 | }, | |
4878 | "type" : "object" | |
4879 | } | |
4880 | }, | |
4881 | "PUT" : { | |
e9cd3bd4 | 4882 | "allowtoken" : 1, |
a9a8e3d1 DM |
4883 | "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.", |
4884 | "method" : "PUT", | |
4885 | "name" : "update_account", | |
4886 | "parameters" : { | |
4887 | "additionalProperties" : 0, | |
4888 | "properties" : { | |
4889 | "contact" : { | |
4890 | "description" : "Contact email addresses.", | |
4891 | "format" : "email-list", | |
4892 | "optional" : 1, | |
4893 | "type" : "string", | |
4894 | "typetext" : "<string>" | |
4895 | }, | |
4896 | "name" : { | |
4897 | "default" : "default", | |
4898 | "description" : "ACME account config file name.", | |
4899 | "format" : "pve-configid", | |
4900 | "format_description" : "name", | |
4901 | "optional" : 1, | |
4902 | "type" : "string", | |
4903 | "typetext" : "<name>" | |
4904 | } | |
4905 | } | |
4906 | }, | |
4907 | "protected" : 1, | |
4908 | "returns" : { | |
4909 | "type" : "string" | |
4910 | } | |
4911 | } | |
4912 | }, | |
4913 | "leaf" : 1, | |
4914 | "path" : "/cluster/acme/account/{name}", | |
4915 | "text" : "{name}" | |
4916 | } | |
4917 | ], | |
4918 | "info" : { | |
4919 | "GET" : { | |
e9cd3bd4 | 4920 | "allowtoken" : 1, |
a9a8e3d1 DM |
4921 | "description" : "ACMEAccount index.", |
4922 | "method" : "GET", | |
4923 | "name" : "account_index", | |
4924 | "parameters" : { | |
4925 | "additionalProperties" : 0 | |
4926 | }, | |
4927 | "permissions" : { | |
4928 | "user" : "all" | |
4929 | }, | |
4930 | "protected" : 1, | |
4931 | "returns" : { | |
4932 | "items" : { | |
4933 | "properties" : {}, | |
4934 | "type" : "object" | |
4935 | }, | |
4936 | "links" : [ | |
4937 | { | |
4938 | "href" : "{name}", | |
4939 | "rel" : "child" | |
4940 | } | |
4941 | ], | |
4942 | "type" : "array" | |
4943 | } | |
4944 | }, | |
4945 | "POST" : { | |
e9cd3bd4 | 4946 | "allowtoken" : 1, |
a9a8e3d1 DM |
4947 | "description" : "Register a new ACME account with CA.", |
4948 | "method" : "POST", | |
4949 | "name" : "register_account", | |
4950 | "parameters" : { | |
4951 | "additionalProperties" : 0, | |
4952 | "properties" : { | |
4953 | "contact" : { | |
4954 | "description" : "Contact email addresses.", | |
4955 | "format" : "email-list", | |
4956 | "type" : "string", | |
4957 | "typetext" : "<string>" | |
4958 | }, | |
4959 | "directory" : { | |
4960 | "default" : "https://acme-v02.api.letsencrypt.org/directory", | |
4961 | "description" : "URL of ACME CA directory endpoint.", | |
4962 | "optional" : 1, | |
4963 | "pattern" : "^https?://.*", | |
4964 | "type" : "string" | |
4965 | }, | |
4966 | "name" : { | |
4967 | "default" : "default", | |
4968 | "description" : "ACME account config file name.", | |
4969 | "format" : "pve-configid", | |
4970 | "format_description" : "name", | |
4971 | "optional" : 1, | |
4972 | "type" : "string", | |
4973 | "typetext" : "<name>" | |
4974 | }, | |
4975 | "tos_url" : { | |
4976 | "description" : "URL of CA TermsOfService - setting this indicates agreement.", | |
4977 | "optional" : 1, | |
4978 | "type" : "string", | |
4979 | "typetext" : "<string>" | |
4980 | } | |
4981 | } | |
4982 | }, | |
4983 | "protected" : 1, | |
4984 | "returns" : { | |
4985 | "type" : "string" | |
4986 | } | |
4987 | } | |
4988 | }, | |
4989 | "leaf" : 0, | |
4990 | "path" : "/cluster/acme/account", | |
4991 | "text" : "account" | |
4992 | }, | |
4993 | { | |
4994 | "info" : { | |
4995 | "GET" : { | |
e9cd3bd4 | 4996 | "allowtoken" : 1, |
a9a8e3d1 DM |
4997 | "description" : "Retrieve ACME TermsOfService URL from CA.", |
4998 | "method" : "GET", | |
4999 | "name" : "get_tos", | |
5000 | "parameters" : { | |
5001 | "additionalProperties" : 0, | |
5002 | "properties" : { | |
5003 | "directory" : { | |
5004 | "default" : "https://acme-v02.api.letsencrypt.org/directory", | |
5005 | "description" : "URL of ACME CA directory endpoint.", | |
5006 | "optional" : 1, | |
5007 | "pattern" : "^https?://.*", | |
5008 | "type" : "string" | |
5009 | } | |
5010 | } | |
5011 | }, | |
5da3d723 TL |
5012 | "permissions" : { |
5013 | "user" : "all" | |
5014 | }, | |
a9a8e3d1 DM |
5015 | "returns" : { |
5016 | "description" : "ACME TermsOfService URL.", | |
5c1699e5 | 5017 | "optional" : 1, |
a9a8e3d1 DM |
5018 | "type" : "string" |
5019 | } | |
5020 | } | |
5021 | }, | |
5022 | "leaf" : 1, | |
5023 | "path" : "/cluster/acme/tos", | |
5024 | "text" : "tos" | |
5025 | }, | |
5026 | { | |
5027 | "info" : { | |
5028 | "GET" : { | |
e9cd3bd4 | 5029 | "allowtoken" : 1, |
a9a8e3d1 DM |
5030 | "description" : "Get named known ACME directory endpoints.", |
5031 | "method" : "GET", | |
5032 | "name" : "get_directories", | |
5033 | "parameters" : { | |
5034 | "additionalProperties" : 0 | |
5035 | }, | |
5da3d723 TL |
5036 | "permissions" : { |
5037 | "user" : "all" | |
5038 | }, | |
a9a8e3d1 DM |
5039 | "returns" : { |
5040 | "items" : { | |
5041 | "additionalProperties" : 0, | |
5042 | "properties" : { | |
5043 | "name" : { | |
5044 | "type" : "string" | |
5045 | }, | |
5046 | "url" : { | |
5047 | "description" : "URL of ACME CA directory endpoint.", | |
5048 | "pattern" : "^https?://.*", | |
5049 | "type" : "string" | |
5050 | } | |
5051 | }, | |
5052 | "type" : "object" | |
5053 | }, | |
5054 | "type" : "array" | |
5055 | } | |
5056 | } | |
5057 | }, | |
5058 | "leaf" : 1, | |
5059 | "path" : "/cluster/acme/directories", | |
5060 | "text" : "directories" | |
5061 | } | |
5062 | ], | |
5063 | "info" : { | |
5064 | "GET" : { | |
e9cd3bd4 | 5065 | "allowtoken" : 1, |
a9a8e3d1 DM |
5066 | "description" : "ACMEAccount index.", |
5067 | "method" : "GET", | |
5068 | "name" : "index", | |
5069 | "parameters" : { | |
5070 | "additionalProperties" : 0 | |
5071 | }, | |
5072 | "permissions" : { | |
5073 | "user" : "all" | |
5074 | }, | |
5075 | "returns" : { | |
5076 | "items" : { | |
5077 | "properties" : {}, | |
5078 | "type" : "object" | |
5079 | }, | |
5080 | "links" : [ | |
5081 | { | |
5082 | "href" : "{name}", | |
5083 | "rel" : "child" | |
5084 | } | |
5085 | ], | |
5086 | "type" : "array" | |
5087 | } | |
5088 | } | |
5089 | }, | |
5090 | "leaf" : 0, | |
5091 | "path" : "/cluster/acme", | |
5092 | "text" : "acme" | |
5093 | }, | |
1c532546 TL |
5094 | { |
5095 | "children" : [ | |
5096 | { | |
5097 | "info" : { | |
5098 | "GET" : { | |
e9cd3bd4 | 5099 | "allowtoken" : 1, |
1c532546 TL |
5100 | "description" : "Get ceph metadata.", |
5101 | "method" : "GET", | |
5102 | "name" : "metadata", | |
5103 | "parameters" : { | |
c5aa7e14 TL |
5104 | "additionalProperties" : 0, |
5105 | "properties" : { | |
5106 | "scope" : { | |
5107 | "default" : "all", | |
5108 | "enum" : [ | |
5109 | "all", | |
5110 | "versions" | |
5111 | ], | |
5112 | "optional" : 1, | |
5113 | "type" : "string" | |
5114 | } | |
5115 | } | |
1c532546 TL |
5116 | }, |
5117 | "permissions" : { | |
5118 | "check" : [ | |
5119 | "perm", | |
5120 | "/", | |
5121 | [ | |
5122 | "Sys.Audit", | |
5123 | "Datastore.Audit" | |
5124 | ], | |
5125 | "any", | |
5126 | 1 | |
5127 | ] | |
5128 | }, | |
5129 | "protected" : 1, | |
5130 | "returns" : { | |
5131 | "type" : "object" | |
5132 | } | |
5133 | } | |
5134 | }, | |
5135 | "leaf" : 1, | |
5136 | "path" : "/cluster/ceph/metadata", | |
5137 | "text" : "metadata" | |
5138 | }, | |
5139 | { | |
5140 | "info" : { | |
5141 | "GET" : { | |
e9cd3bd4 | 5142 | "allowtoken" : 1, |
1c532546 TL |
5143 | "description" : "Get ceph status.", |
5144 | "method" : "GET", | |
5145 | "name" : "status", | |
5146 | "parameters" : { | |
5147 | "additionalProperties" : 0 | |
5148 | }, | |
5149 | "permissions" : { | |
5150 | "check" : [ | |
5151 | "perm", | |
5152 | "/", | |
5153 | [ | |
5154 | "Sys.Audit", | |
5155 | "Datastore.Audit" | |
5156 | ], | |
5157 | "any", | |
5158 | 1 | |
5159 | ] | |
5160 | }, | |
5161 | "protected" : 1, | |
5162 | "returns" : { | |
5163 | "type" : "object" | |
5164 | } | |
5165 | } | |
5166 | }, | |
5167 | "leaf" : 1, | |
5168 | "path" : "/cluster/ceph/status", | |
5169 | "text" : "status" | |
5170 | }, | |
5171 | { | |
5172 | "children" : [ | |
5173 | { | |
5174 | "info" : { | |
5175 | "GET" : { | |
e9cd3bd4 | 5176 | "allowtoken" : 1, |
1c532546 TL |
5177 | "description" : "Get the status of a specific ceph flag.", |
5178 | "method" : "GET", | |
5179 | "name" : "get_flag", | |
5180 | "parameters" : { | |
5181 | "additionalProperties" : 0, | |
5182 | "properties" : { | |
5183 | "flag" : { | |
5184 | "description" : "The name of the flag name to get.", | |
5185 | "enum" : [ | |
5186 | "nobackfill", | |
5187 | "nodeep-scrub", | |
5188 | "nodown", | |
5189 | "noin", | |
5190 | "noout", | |
5191 | "norebalance", | |
5192 | "norecover", | |
5193 | "noscrub", | |
5194 | "notieragent", | |
5195 | "noup", | |
5196 | "pause" | |
5197 | ], | |
5198 | "type" : "string" | |
5199 | } | |
5200 | } | |
5201 | }, | |
5202 | "permissions" : { | |
5203 | "check" : [ | |
5204 | "perm", | |
5205 | "/", | |
5206 | [ | |
5207 | "Sys.Audit" | |
5208 | ] | |
5209 | ] | |
5210 | }, | |
5211 | "protected" : 1, | |
5212 | "returns" : { | |
5213 | "type" : "boolean" | |
5214 | } | |
5215 | }, | |
5216 | "PUT" : { | |
e9cd3bd4 | 5217 | "allowtoken" : 1, |
1c532546 TL |
5218 | "description" : "Set or clear (unset) a specific ceph flag", |
5219 | "method" : "PUT", | |
5220 | "name" : "update_flag", | |
5221 | "parameters" : { | |
5222 | "additionalProperties" : 0, | |
5223 | "properties" : { | |
5224 | "flag" : { | |
5225 | "description" : "The ceph flag to update", | |
5226 | "enum" : [ | |
5227 | "nobackfill", | |
5228 | "nodeep-scrub", | |
5229 | "nodown", | |
5230 | "noin", | |
5231 | "noout", | |
5232 | "norebalance", | |
5233 | "norecover", | |
5234 | "noscrub", | |
5235 | "notieragent", | |
5236 | "noup", | |
5237 | "pause" | |
5238 | ], | |
5239 | "type" : "string" | |
5240 | }, | |
5241 | "value" : { | |
5242 | "description" : "The new value of the flag", | |
5243 | "type" : "boolean", | |
5244 | "typetext" : "<boolean>" | |
5245 | } | |
5246 | } | |
5247 | }, | |
5248 | "permissions" : { | |
5249 | "check" : [ | |
5250 | "perm", | |
5251 | "/", | |
5252 | [ | |
5253 | "Sys.Modify" | |
5254 | ] | |
5255 | ] | |
5256 | }, | |
5257 | "protected" : 1, | |
5258 | "returns" : { | |
5259 | "type" : "null" | |
5260 | } | |
5261 | } | |
5262 | }, | |
5263 | "leaf" : 1, | |
5264 | "path" : "/cluster/ceph/flags/{flag}", | |
5265 | "text" : "{flag}" | |
5266 | } | |
5267 | ], | |
5268 | "info" : { | |
5269 | "GET" : { | |
e9cd3bd4 | 5270 | "allowtoken" : 1, |
1c532546 TL |
5271 | "description" : "get the status of all ceph flags", |
5272 | "method" : "GET", | |
5273 | "name" : "get_all_flags", | |
5274 | "parameters" : { | |
5275 | "additionalProperties" : 0 | |
5276 | }, | |
5277 | "permissions" : { | |
5278 | "check" : [ | |
5279 | "perm", | |
5280 | "/", | |
5281 | [ | |
5282 | "Sys.Audit" | |
5283 | ] | |
5284 | ] | |
5285 | }, | |
5286 | "protected" : 1, | |
5287 | "returns" : { | |
5288 | "items" : { | |
5289 | "additionalProperties" : 1, | |
5290 | "properties" : { | |
5291 | "name" : { | |
5292 | "description" : "Flag name.", | |
5293 | "enum" : [ | |
5294 | "nobackfill", | |
5295 | "nodeep-scrub", | |
5296 | "nodown", | |
5297 | "noin", | |
5298 | "noout", | |
5299 | "norebalance", | |
5300 | "norecover", | |
5301 | "noscrub", | |
5302 | "notieragent", | |
5303 | "noup", | |
5304 | "pause" | |
5305 | ], | |
5306 | "type" : "string" | |
5307 | } | |
5308 | }, | |
5309 | "type" : "object" | |
5310 | }, | |
5311 | "links" : [ | |
5312 | { | |
5313 | "href" : "{name}", | |
5314 | "rel" : "child" | |
5315 | } | |
5316 | ], | |
5317 | "type" : "array" | |
5318 | } | |
5319 | }, | |
5320 | "PUT" : { | |
e9cd3bd4 | 5321 | "allowtoken" : 1, |
1c532546 TL |
5322 | "description" : "Set/Unset multiple ceph flags at once.", |
5323 | "method" : "PUT", | |
5324 | "name" : "set_flags", | |
5325 | "parameters" : { | |
5326 | "additionalProperties" : 0, | |
5327 | "properties" : { | |
5328 | "nobackfill" : { | |
5329 | "description" : "Backfilling of PGs is suspended.", | |
5330 | "optional" : 1, | |
5331 | "type" : "boolean", | |
5332 | "typetext" : "<boolean>" | |
5333 | }, | |
5334 | "nodeep-scrub" : { | |
5335 | "description" : "Deep Scrubbing is disabled.", | |
5336 | "optional" : 1, | |
5337 | "type" : "boolean", | |
5338 | "typetext" : "<boolean>" | |
5339 | }, | |
5340 | "nodown" : { | |
5341 | "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.", | |
5342 | "optional" : 1, | |
5343 | "type" : "boolean", | |
5344 | "typetext" : "<boolean>" | |
5345 | }, | |
5346 | "noin" : { | |
5347 | "description" : "OSDs that were previously marked out will not be marked back in when they start.", | |
5348 | "optional" : 1, | |
5349 | "type" : "boolean", | |
5350 | "typetext" : "<boolean>" | |
5351 | }, | |
5352 | "noout" : { | |
5353 | "description" : "OSDs will not automatically be marked out after the configured interval.", | |
5354 | "optional" : 1, | |
5355 | "type" : "boolean", | |
5356 | "typetext" : "<boolean>" | |
5357 | }, | |
5358 | "norebalance" : { | |
5359 | "description" : "Rebalancing of PGs is suspended.", | |
5360 | "optional" : 1, | |
5361 | "type" : "boolean", | |
5362 | "typetext" : "<boolean>" | |
5363 | }, | |
5364 | "norecover" : { | |
5365 | "description" : "Recovery of PGs is suspended.", | |
5366 | "optional" : 1, | |
5367 | "type" : "boolean", | |
5368 | "typetext" : "<boolean>" | |
5369 | }, | |
5370 | "noscrub" : { | |
5371 | "description" : "Scrubbing is disabled.", | |
5372 | "optional" : 1, | |
5373 | "type" : "boolean", | |
5374 | "typetext" : "<boolean>" | |
5375 | }, | |
5376 | "notieragent" : { | |
5377 | "description" : "Cache tiering activity is suspended.", | |
5378 | "optional" : 1, | |
5379 | "type" : "boolean", | |
5380 | "typetext" : "<boolean>" | |
5381 | }, | |
5382 | "noup" : { | |
5383 | "description" : "OSDs are not allowed to start.", | |
5384 | "optional" : 1, | |
5385 | "type" : "boolean", | |
5386 | "typetext" : "<boolean>" | |
5387 | }, | |
5388 | "pause" : { | |
5389 | "description" : "Pauses read and writes.", | |
5390 | "optional" : 1, | |
5391 | "type" : "boolean", | |
5392 | "typetext" : "<boolean>" | |
5393 | } | |
5394 | } | |
5395 | }, | |
5396 | "permissions" : { | |
5397 | "check" : [ | |
5398 | "perm", | |
5399 | "/", | |
5400 | [ | |
5401 | "Sys.Modify" | |
5402 | ] | |
5403 | ] | |
5404 | }, | |
5405 | "protected" : 1, | |
5406 | "returns" : { | |
5407 | "type" : "string" | |
5408 | } | |
5409 | } | |
5410 | }, | |
5411 | "leaf" : 0, | |
5412 | "path" : "/cluster/ceph/flags", | |
5413 | "text" : "flags" | |
5414 | } | |
5415 | ], | |
5416 | "info" : { | |
5417 | "GET" : { | |
e9cd3bd4 | 5418 | "allowtoken" : 1, |
1c532546 TL |
5419 | "description" : "Cluster ceph index.", |
5420 | "method" : "GET", | |
5421 | "name" : "cephindex", | |
5422 | "parameters" : { | |
5423 | "additionalProperties" : 0 | |
5424 | }, | |
5425 | "permissions" : { | |
5426 | "user" : "all" | |
5427 | }, | |
5428 | "returns" : { | |
5429 | "items" : { | |
5430 | "properties" : {}, | |
5431 | "type" : "object" | |
5432 | }, | |
5433 | "links" : [ | |
5434 | { | |
5435 | "href" : "{name}", | |
5436 | "rel" : "child" | |
5437 | } | |
5438 | ], | |
5439 | "type" : "array" | |
5440 | } | |
5441 | } | |
5442 | }, | |
5443 | "leaf" : 0, | |
5444 | "path" : "/cluster/ceph", | |
5445 | "text" : "ceph" | |
5446 | }, | |
c5aa7e14 TL |
5447 | { |
5448 | "children" : [ | |
5449 | { | |
5450 | "children" : [ | |
5451 | { | |
5452 | "info" : { | |
5453 | "DELETE" : { | |
5454 | "allowtoken" : 1, | |
5455 | "description" : "Delete sdn vnet object configuration.", | |
5456 | "method" : "DELETE", | |
5457 | "name" : "delete", | |
5458 | "parameters" : { | |
5459 | "additionalProperties" : 0, | |
5460 | "properties" : { | |
5461 | "vnet" : { | |
5462 | "description" : "The SDN vnet object identifier.", | |
5463 | "format" : "pve-sdn-vnet-id", | |
5464 | "type" : "string", | |
5465 | "typetext" : "<string>" | |
5466 | } | |
5467 | } | |
5468 | }, | |
5469 | "permissions" : { | |
5470 | "check" : [ | |
5471 | "perm", | |
5472 | "/sdn/vnets", | |
5473 | [ | |
5474 | "SDN.Allocate" | |
5475 | ] | |
5476 | ] | |
5477 | }, | |
5478 | "protected" : 1, | |
5479 | "returns" : { | |
5480 | "type" : "null" | |
5481 | } | |
5482 | }, | |
5483 | "GET" : { | |
5484 | "allowtoken" : 1, | |
5485 | "description" : "Read sdn vnet configuration.", | |
5486 | "method" : "GET", | |
5487 | "name" : "read", | |
5488 | "parameters" : { | |
5489 | "additionalProperties" : 0, | |
5490 | "properties" : { | |
5491 | "vnet" : { | |
5492 | "description" : "The SDN vnet object identifier.", | |
5493 | "format" : "pve-sdn-vnet-id", | |
5494 | "type" : "string", | |
5495 | "typetext" : "<string>" | |
5496 | } | |
5497 | } | |
5498 | }, | |
5499 | "permissions" : { | |
5500 | "check" : [ | |
5501 | "perm", | |
5502 | "/sdn/vnets/{vnet}", | |
5503 | [ | |
5504 | "SDN.Allocate" | |
5505 | ] | |
5506 | ] | |
5507 | }, | |
5508 | "returns" : { | |
5509 | "type" : "object" | |
5510 | } | |
5511 | }, | |
5512 | "PUT" : { | |
5513 | "allowtoken" : 1, | |
5514 | "description" : "Update sdn vnet object configuration.", | |
5515 | "method" : "PUT", | |
5516 | "name" : "update", | |
5517 | "parameters" : { | |
5518 | "additionalProperties" : 0, | |
5519 | "properties" : { | |
5520 | "alias" : { | |
5521 | "description" : "alias name of the vnet", | |
5522 | "optional" : 1, | |
5523 | "type" : "string", | |
5524 | "typetext" : "<string>" | |
5525 | }, | |
5526 | "delete" : { | |
5527 | "description" : "A list of settings you want to delete.", | |
5528 | "format" : "pve-configid-list", | |
5529 | "maxLength" : 4096, | |
5530 | "optional" : 1, | |
5531 | "type" : "string", | |
5532 | "typetext" : "<string>" | |
5533 | }, | |
5534 | "digest" : { | |
5535 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
5536 | "maxLength" : 40, | |
5537 | "optional" : 1, | |
5538 | "type" : "string", | |
5539 | "typetext" : "<string>" | |
5540 | }, | |
5541 | "ipv4" : { | |
5542 | "description" : "Anycast router ipv4 address.", | |
5543 | "format" : "CIDRv4", | |
5544 | "optional" : 1, | |
5545 | "type" : "string", | |
5546 | "typetext" : "<string>" | |
5547 | }, | |
5548 | "ipv6" : { | |
5549 | "description" : "Anycast router ipv6 address.", | |
5550 | "format" : "CIDRv6", | |
5551 | "optional" : 1, | |
5552 | "type" : "string", | |
5553 | "typetext" : "<string>" | |
5554 | }, | |
5555 | "mac" : { | |
5556 | "description" : "Anycast router mac address", | |
5557 | "format" : "mac-addr", | |
5558 | "optional" : 1, | |
5559 | "type" : "string", | |
5560 | "typetext" : "<string>" | |
5561 | }, | |
5562 | "tag" : { | |
5563 | "description" : "vlan or vxlan id", | |
5564 | "optional" : 1, | |
5565 | "type" : "integer", | |
5566 | "typetext" : "<integer>" | |
5567 | }, | |
5568 | "vnet" : { | |
5569 | "description" : "The SDN vnet object identifier.", | |
5570 | "format" : "pve-sdn-vnet-id", | |
5571 | "type" : "string", | |
5572 | "typetext" : "<string>" | |
5573 | }, | |
5574 | "zone" : { | |
5575 | "description" : "zone id", | |
5576 | "optional" : 1, | |
5577 | "type" : "string", | |
5578 | "typetext" : "<string>" | |
5579 | } | |
5580 | }, | |
5581 | "type" : "object" | |
5582 | }, | |
5583 | "permissions" : { | |
5584 | "check" : [ | |
5585 | "perm", | |
5586 | "/sdn/vnets", | |
5587 | [ | |
5588 | "SDN.Allocate" | |
5589 | ] | |
5590 | ] | |
5591 | }, | |
5592 | "protected" : 1, | |
5593 | "returns" : { | |
5594 | "type" : "null" | |
5595 | } | |
5596 | } | |
5597 | }, | |
5598 | "leaf" : 1, | |
5599 | "path" : "/cluster/sdn/vnets/{vnet}", | |
5600 | "text" : "{vnet}" | |
5601 | } | |
5602 | ], | |
5603 | "info" : { | |
5604 | "GET" : { | |
5605 | "allowtoken" : 1, | |
5606 | "description" : "SDN vnets index.", | |
5607 | "method" : "GET", | |
5608 | "name" : "index", | |
5609 | "parameters" : { | |
5610 | "additionalProperties" : 0 | |
5611 | }, | |
5612 | "permissions" : { | |
5613 | "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'", | |
5614 | "user" : "all" | |
5615 | }, | |
5616 | "returns" : { | |
5617 | "items" : { | |
5618 | "properties" : {}, | |
5619 | "type" : "object" | |
5620 | }, | |
5621 | "links" : [ | |
5622 | { | |
5623 | "href" : "{vnet}", | |
5624 | "rel" : "child" | |
5625 | } | |
5626 | ], | |
5627 | "type" : "array" | |
5628 | } | |
5629 | }, | |
5630 | "POST" : { | |
5631 | "allowtoken" : 1, | |
5632 | "description" : "Create a new sdn vnet object.", | |
5633 | "method" : "POST", | |
5634 | "name" : "create", | |
5635 | "parameters" : { | |
5636 | "additionalProperties" : 0, | |
5637 | "properties" : { | |
5638 | "alias" : { | |
5639 | "description" : "alias name of the vnet", | |
5640 | "optional" : 1, | |
5641 | "type" : "string", | |
5642 | "typetext" : "<string>" | |
5643 | }, | |
5644 | "ipv4" : { | |
5645 | "description" : "Anycast router ipv4 address.", | |
5646 | "format" : "CIDRv4", | |
5647 | "optional" : 1, | |
5648 | "type" : "string", | |
5649 | "typetext" : "<string>" | |
5650 | }, | |
5651 | "ipv6" : { | |
5652 | "description" : "Anycast router ipv6 address.", | |
5653 | "format" : "CIDRv6", | |
5654 | "optional" : 1, | |
5655 | "type" : "string", | |
5656 | "typetext" : "<string>" | |
5657 | }, | |
5658 | "mac" : { | |
5659 | "description" : "Anycast router mac address", | |
5660 | "format" : "mac-addr", | |
5661 | "optional" : 1, | |
5662 | "type" : "string", | |
5663 | "typetext" : "<string>" | |
5664 | }, | |
5665 | "tag" : { | |
5666 | "description" : "vlan or vxlan id", | |
5667 | "optional" : 0, | |
5668 | "type" : "integer", | |
5669 | "typetext" : "<integer>" | |
5670 | }, | |
5671 | "type" : { | |
5672 | "description" : "Type", | |
5673 | "enum" : [ | |
5674 | "vnet" | |
5675 | ], | |
5676 | "optional" : 1, | |
5677 | "type" : "string" | |
5678 | }, | |
5679 | "vnet" : { | |
5680 | "description" : "The SDN vnet object identifier.", | |
5681 | "format" : "pve-sdn-vnet-id", | |
5682 | "type" : "string", | |
5683 | "typetext" : "<string>" | |
5684 | }, | |
5685 | "zone" : { | |
5686 | "description" : "zone id", | |
5687 | "optional" : 0, | |
5688 | "type" : "string", | |
5689 | "typetext" : "<string>" | |
5690 | } | |
5691 | }, | |
5692 | "type" : "object" | |
5693 | }, | |
5694 | "permissions" : { | |
5695 | "check" : [ | |
5696 | "perm", | |
5697 | "/sdn/vnets", | |
5698 | [ | |
5699 | "SDN.Allocate" | |
5700 | ] | |
5701 | ] | |
5702 | }, | |
5703 | "protected" : 1, | |
5704 | "returns" : { | |
5705 | "type" : "null" | |
5706 | } | |
5707 | } | |
5708 | }, | |
5709 | "leaf" : 0, | |
5710 | "path" : "/cluster/sdn/vnets", | |
5711 | "text" : "vnets" | |
5712 | }, | |
5713 | { | |
5714 | "children" : [ | |
5715 | { | |
5716 | "info" : { | |
5717 | "DELETE" : { | |
5718 | "allowtoken" : 1, | |
5719 | "description" : "Delete sdn zone object configuration.", | |
5720 | "method" : "DELETE", | |
5721 | "name" : "delete", | |
5722 | "parameters" : { | |
5723 | "additionalProperties" : 0, | |
5724 | "properties" : { | |
5725 | "zone" : { | |
5726 | "description" : "The SDN zone object identifier.", | |
5727 | "format" : "pve-sdn-zone-id", | |
5728 | "type" : "string", | |
5729 | "typetext" : "<string>" | |
5730 | } | |
5731 | } | |
5732 | }, | |
5733 | "permissions" : { | |
5734 | "check" : [ | |
5735 | "perm", | |
5736 | "/sdn/zones", | |
5737 | [ | |
5738 | "SDN.Allocate" | |
5739 | ] | |
5740 | ] | |
5741 | }, | |
5742 | "protected" : 1, | |
5743 | "returns" : { | |
5744 | "type" : "null" | |
5745 | } | |
5746 | }, | |
5747 | "GET" : { | |
5748 | "allowtoken" : 1, | |
5749 | "description" : "Read sdn zone configuration.", | |
5750 | "method" : "GET", | |
5751 | "name" : "read", | |
5752 | "parameters" : { | |
5753 | "additionalProperties" : 0, | |
5754 | "properties" : { | |
5755 | "zone" : { | |
5756 | "description" : "The SDN zone object identifier.", | |
5757 | "format" : "pve-sdn-zone-id", | |
5758 | "type" : "string", | |
5759 | "typetext" : "<string>" | |
5760 | } | |
5761 | } | |
5762 | }, | |
5763 | "permissions" : { | |
5764 | "check" : [ | |
5765 | "perm", | |
5766 | "/sdn/zones/{zone}", | |
5767 | [ | |
5768 | "SDN.Allocate" | |
5769 | ] | |
5770 | ] | |
5771 | }, | |
5772 | "returns" : { | |
5773 | "type" : "object" | |
5774 | } | |
5775 | }, | |
5776 | "PUT" : { | |
5777 | "allowtoken" : 1, | |
5778 | "description" : "Update sdn zone object configuration.", | |
5779 | "method" : "PUT", | |
5780 | "name" : "update", | |
5781 | "parameters" : { | |
5782 | "additionalProperties" : 0, | |
5783 | "properties" : { | |
5784 | "bridge" : { | |
5785 | "optional" : 1, | |
5786 | "type" : "string", | |
5787 | "typetext" : "<string>" | |
5788 | }, | |
5789 | "controller" : { | |
5790 | "description" : "Frr router name", | |
5791 | "optional" : 1, | |
5792 | "type" : "string", | |
5793 | "typetext" : "<string>" | |
5794 | }, | |
5795 | "delete" : { | |
5796 | "description" : "A list of settings you want to delete.", | |
5797 | "format" : "pve-configid-list", | |
5798 | "maxLength" : 4096, | |
5799 | "optional" : 1, | |
5800 | "type" : "string", | |
5801 | "typetext" : "<string>" | |
5802 | }, | |
5803 | "digest" : { | |
5804 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
5805 | "maxLength" : 40, | |
5806 | "optional" : 1, | |
5807 | "type" : "string", | |
5808 | "typetext" : "<string>" | |
5809 | }, | |
5810 | "dp-id" : { | |
5811 | "description" : "Faucet dataplane id", | |
5812 | "optional" : 1, | |
5813 | "type" : "integer", | |
5814 | "typetext" : "<integer>" | |
5815 | }, | |
5816 | "mtu" : { | |
5817 | "description" : "mtu", | |
5818 | "optional" : 1, | |
5819 | "type" : "integer", | |
5820 | "typetext" : "<integer>" | |
5821 | }, | |
5822 | "nodes" : { | |
5823 | "description" : "List of cluster node names.", | |
5824 | "format" : "pve-node-list", | |
5825 | "optional" : 1, | |
5826 | "type" : "string", | |
5827 | "typetext" : "<string>" | |
5828 | }, | |
5829 | "peers" : { | |
5830 | "description" : "peers address list.", | |
5831 | "format" : "ip-list", | |
5832 | "optional" : 1, | |
5833 | "type" : "string", | |
5834 | "typetext" : "<string>" | |
5835 | }, | |
5836 | "tag" : { | |
5837 | "description" : "vlan tag", | |
5838 | "optional" : 1, | |
5839 | "type" : "integer", | |
5840 | "typetext" : "<integer>" | |
5841 | }, | |
5842 | "vrf-vxlan" : { | |
5843 | "description" : "l3vni.", | |
5844 | "optional" : 1, | |
5845 | "type" : "integer", | |
5846 | "typetext" : "<integer>" | |
5847 | }, | |
5848 | "zone" : { | |
5849 | "description" : "The SDN zone object identifier.", | |
5850 | "format" : "pve-sdn-zone-id", | |
5851 | "type" : "string", | |
5852 | "typetext" : "<string>" | |
5853 | } | |
5854 | }, | |
5855 | "type" : "object" | |
5856 | }, | |
5857 | "permissions" : { | |
5858 | "check" : [ | |
5859 | "perm", | |
5860 | "/sdn/zones", | |
5861 | [ | |
5862 | "SDN.Allocate" | |
5863 | ] | |
5864 | ] | |
5865 | }, | |
5866 | "protected" : 1, | |
5867 | "returns" : { | |
5868 | "type" : "null" | |
5869 | } | |
5870 | } | |
5871 | }, | |
5872 | "leaf" : 1, | |
5873 | "path" : "/cluster/sdn/zones/{zone}", | |
5874 | "text" : "{zone}" | |
5875 | } | |
5876 | ], | |
5877 | "info" : { | |
5878 | "GET" : { | |
5879 | "allowtoken" : 1, | |
5880 | "description" : "SDN zones index.", | |
5881 | "method" : "GET", | |
5882 | "name" : "index", | |
5883 | "parameters" : { | |
5884 | "additionalProperties" : 0, | |
5885 | "properties" : { | |
5886 | "type" : { | |
5887 | "description" : "Only list sdn zones of specific type", | |
5888 | "enum" : [ | |
5889 | "evpn", | |
5890 | "faucet", | |
5891 | "qinq", | |
5892 | "vlan", | |
5893 | "vxlan" | |
5894 | ], | |
5895 | "optional" : 1, | |
5896 | "type" : "string" | |
5897 | } | |
5898 | } | |
5899 | }, | |
5900 | "permissions" : { | |
5901 | "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'", | |
5902 | "user" : "all" | |
5903 | }, | |
5904 | "returns" : { | |
5905 | "items" : { | |
5906 | "properties" : { | |
5907 | "type" : { | |
5908 | "type" : "string" | |
5909 | }, | |
5910 | "zone" : { | |
5911 | "type" : "string" | |
5912 | } | |
5913 | }, | |
5914 | "type" : "object" | |
5915 | }, | |
5916 | "links" : [ | |
5917 | { | |
5918 | "href" : "{zone}", | |
5919 | "rel" : "child" | |
5920 | } | |
5921 | ], | |
5922 | "type" : "array" | |
5923 | } | |
5924 | }, | |
5925 | "POST" : { | |
5926 | "allowtoken" : 1, | |
5927 | "description" : "Create a new sdn zone object.", | |
5928 | "method" : "POST", | |
5929 | "name" : "create", | |
5930 | "parameters" : { | |
5931 | "additionalProperties" : 0, | |
5932 | "properties" : { | |
5933 | "bridge" : { | |
5934 | "optional" : 1, | |
5935 | "type" : "string", | |
5936 | "typetext" : "<string>" | |
5937 | }, | |
5938 | "controller" : { | |
5939 | "description" : "Frr router name", | |
5940 | "optional" : 1, | |
5941 | "type" : "string", | |
5942 | "typetext" : "<string>" | |
5943 | }, | |
5944 | "dp-id" : { | |
5945 | "description" : "Faucet dataplane id", | |
5946 | "optional" : 1, | |
5947 | "type" : "integer", | |
5948 | "typetext" : "<integer>" | |
5949 | }, | |
5950 | "mtu" : { | |
5951 | "description" : "mtu", | |
5952 | "optional" : 1, | |
5953 | "type" : "integer", | |
5954 | "typetext" : "<integer>" | |
5955 | }, | |
5956 | "nodes" : { | |
5957 | "description" : "List of cluster node names.", | |
5958 | "format" : "pve-node-list", | |
5959 | "optional" : 1, | |
5960 | "type" : "string", | |
5961 | "typetext" : "<string>" | |
5962 | }, | |
5963 | "peers" : { | |
5964 | "description" : "peers address list.", | |
5965 | "format" : "ip-list", | |
5966 | "optional" : 1, | |
5967 | "type" : "string", | |
5968 | "typetext" : "<string>" | |
5969 | }, | |
5970 | "tag" : { | |
5971 | "description" : "vlan tag", | |
5972 | "optional" : 1, | |
5973 | "type" : "integer", | |
5974 | "typetext" : "<integer>" | |
5975 | }, | |
5976 | "type" : { | |
5977 | "description" : "Plugin type.", | |
5978 | "enum" : [ | |
5979 | "evpn", | |
5980 | "faucet", | |
5981 | "qinq", | |
5982 | "vlan", | |
5983 | "vxlan" | |
5984 | ], | |
5985 | "format" : "pve-configid", | |
5986 | "type" : "string" | |
5987 | }, | |
5988 | "vrf-vxlan" : { | |
5989 | "description" : "l3vni.", | |
5990 | "optional" : 1, | |
5991 | "type" : "integer", | |
5992 | "typetext" : "<integer>" | |
5993 | }, | |
5994 | "zone" : { | |
5995 | "description" : "The SDN zone object identifier.", | |
5996 | "format" : "pve-sdn-zone-id", | |
5997 | "type" : "string", | |
5998 | "typetext" : "<string>" | |
5999 | } | |
6000 | }, | |
6001 | "type" : "object" | |
6002 | }, | |
6003 | "permissions" : { | |
6004 | "check" : [ | |
6005 | "perm", | |
6006 | "/sdn/zones", | |
6007 | [ | |
6008 | "SDN.Allocate" | |
6009 | ] | |
6010 | ] | |
6011 | }, | |
6012 | "protected" : 1, | |
6013 | "returns" : { | |
6014 | "type" : "null" | |
6015 | } | |
6016 | } | |
6017 | }, | |
6018 | "leaf" : 0, | |
6019 | "path" : "/cluster/sdn/zones", | |
6020 | "text" : "zones" | |
6021 | }, | |
6022 | { | |
6023 | "children" : [ | |
6024 | { | |
6025 | "info" : { | |
6026 | "DELETE" : { | |
6027 | "allowtoken" : 1, | |
6028 | "description" : "Delete sdn controller object configuration.", | |
6029 | "method" : "DELETE", | |
6030 | "name" : "delete", | |
6031 | "parameters" : { | |
6032 | "additionalProperties" : 0, | |
6033 | "properties" : { | |
6034 | "controller" : { | |
6035 | "description" : "The SDN controller object identifier.", | |
6036 | "format" : "pve-sdn-controller-id", | |
6037 | "type" : "string", | |
6038 | "typetext" : "<string>" | |
6039 | } | |
6040 | } | |
6041 | }, | |
6042 | "permissions" : { | |
6043 | "check" : [ | |
6044 | "perm", | |
6045 | "/sdn/controllers", | |
6046 | [ | |
6047 | "SDN.Allocate" | |
6048 | ] | |
6049 | ] | |
6050 | }, | |
6051 | "protected" : 1, | |
6052 | "returns" : { | |
6053 | "type" : "null" | |
6054 | } | |
6055 | }, | |
6056 | "GET" : { | |
6057 | "allowtoken" : 1, | |
6058 | "description" : "Read sdn controller configuration.", | |
6059 | "method" : "GET", | |
6060 | "name" : "read", | |
6061 | "parameters" : { | |
6062 | "additionalProperties" : 0, | |
6063 | "properties" : { | |
6064 | "controller" : { | |
6065 | "description" : "The SDN controller object identifier.", | |
6066 | "format" : "pve-sdn-controller-id", | |
6067 | "type" : "string", | |
6068 | "typetext" : "<string>" | |
6069 | } | |
6070 | } | |
6071 | }, | |
6072 | "permissions" : { | |
6073 | "check" : [ | |
6074 | "perm", | |
6075 | "/sdn/controllers/{controller}", | |
6076 | [ | |
6077 | "SDN.Allocate" | |
6078 | ] | |
6079 | ] | |
6080 | }, | |
6081 | "returns" : { | |
6082 | "type" : "object" | |
6083 | } | |
6084 | }, | |
6085 | "PUT" : { | |
6086 | "allowtoken" : 1, | |
6087 | "description" : "Update sdn controller object configuration.", | |
6088 | "method" : "PUT", | |
6089 | "name" : "update", | |
6090 | "parameters" : { | |
6091 | "additionalProperties" : 0, | |
6092 | "properties" : { | |
6093 | "asn" : { | |
6094 | "description" : "autonomous system number", | |
6095 | "optional" : 1, | |
6096 | "type" : "integer", | |
6097 | "typetext" : "<integer>" | |
6098 | }, | |
6099 | "controller" : { | |
6100 | "description" : "The SDN controller object identifier.", | |
6101 | "format" : "pve-sdn-controller-id", | |
6102 | "type" : "string", | |
6103 | "typetext" : "<string>" | |
6104 | }, | |
6105 | "delete" : { | |
6106 | "description" : "A list of settings you want to delete.", | |
6107 | "format" : "pve-configid-list", | |
6108 | "maxLength" : 4096, | |
6109 | "optional" : 1, | |
6110 | "type" : "string", | |
6111 | "typetext" : "<string>" | |
6112 | }, | |
6113 | "digest" : { | |
6114 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
6115 | "maxLength" : 40, | |
6116 | "optional" : 1, | |
6117 | "type" : "string", | |
6118 | "typetext" : "<string>" | |
6119 | }, | |
6120 | "gateway-external-peers" : { | |
6121 | "description" : "upstream bgp peers address list.", | |
6122 | "format" : "ip-list", | |
6123 | "optional" : 1, | |
6124 | "type" : "string", | |
6125 | "typetext" : "<string>" | |
6126 | }, | |
6127 | "gateway-nodes" : { | |
6128 | "description" : "List of cluster node names.", | |
6129 | "format" : "pve-node-list", | |
6130 | "optional" : 1, | |
6131 | "type" : "string", | |
6132 | "typetext" : "<string>" | |
6133 | }, | |
6134 | "peers" : { | |
6135 | "description" : "peers address list.", | |
6136 | "format" : "ip-list", | |
6137 | "optional" : 1, | |
6138 | "type" : "string", | |
6139 | "typetext" : "<string>" | |
6140 | } | |
6141 | }, | |
6142 | "type" : "object" | |
6143 | }, | |
6144 | "permissions" : { | |
6145 | "check" : [ | |
6146 | "perm", | |
6147 | "/sdn/controllers", | |
6148 | [ | |
6149 | "SDN.Allocate" | |
6150 | ] | |
6151 | ] | |
6152 | }, | |
6153 | "protected" : 1, | |
6154 | "returns" : { | |
6155 | "type" : "null" | |
6156 | } | |
6157 | } | |
6158 | }, | |
6159 | "leaf" : 1, | |
6160 | "path" : "/cluster/sdn/controllers/{controller}", | |
6161 | "text" : "{controller}" | |
6162 | } | |
6163 | ], | |
6164 | "info" : { | |
6165 | "GET" : { | |
6166 | "allowtoken" : 1, | |
6167 | "description" : "SDN controllers index.", | |
6168 | "method" : "GET", | |
6169 | "name" : "index", | |
6170 | "parameters" : { | |
6171 | "additionalProperties" : 0, | |
6172 | "properties" : { | |
6173 | "type" : { | |
6174 | "description" : "Only list sdn controllers of specific type", | |
6175 | "enum" : [ | |
6176 | "evpn", | |
6177 | "faucet" | |
6178 | ], | |
6179 | "optional" : 1, | |
6180 | "type" : "string" | |
6181 | } | |
6182 | } | |
6183 | }, | |
6184 | "permissions" : { | |
6185 | "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'", | |
6186 | "user" : "all" | |
6187 | }, | |
6188 | "returns" : { | |
6189 | "items" : { | |
6190 | "properties" : { | |
6191 | "controller" : { | |
6192 | "type" : "string" | |
6193 | }, | |
6194 | "type" : { | |
6195 | "type" : "string" | |
6196 | } | |
6197 | }, | |
6198 | "type" : "object" | |
6199 | }, | |
6200 | "links" : [ | |
6201 | { | |
6202 | "href" : "{controller}", | |
6203 | "rel" : "child" | |
6204 | } | |
6205 | ], | |
6206 | "type" : "array" | |
6207 | } | |
6208 | }, | |
6209 | "POST" : { | |
6210 | "allowtoken" : 1, | |
6211 | "description" : "Create a new sdn controller object.", | |
6212 | "method" : "POST", | |
6213 | "name" : "create", | |
6214 | "parameters" : { | |
6215 | "additionalProperties" : 0, | |
6216 | "properties" : { | |
6217 | "asn" : { | |
6218 | "description" : "autonomous system number", | |
6219 | "optional" : 1, | |
6220 | "type" : "integer", | |
6221 | "typetext" : "<integer>" | |
6222 | }, | |
6223 | "controller" : { | |
6224 | "description" : "The SDN controller object identifier.", | |
6225 | "format" : "pve-sdn-controller-id", | |
6226 | "type" : "string", | |
6227 | "typetext" : "<string>" | |
6228 | }, | |
6229 | "gateway-external-peers" : { | |
6230 | "description" : "upstream bgp peers address list.", | |
6231 | "format" : "ip-list", | |
6232 | "optional" : 1, | |
6233 | "type" : "string", | |
6234 | "typetext" : "<string>" | |
6235 | }, | |
6236 | "gateway-nodes" : { | |
6237 | "description" : "List of cluster node names.", | |
6238 | "format" : "pve-node-list", | |
6239 | "optional" : 1, | |
6240 | "type" : "string", | |
6241 | "typetext" : "<string>" | |
6242 | }, | |
6243 | "peers" : { | |
6244 | "description" : "peers address list.", | |
6245 | "format" : "ip-list", | |
6246 | "optional" : 1, | |
6247 | "type" : "string", | |
6248 | "typetext" : "<string>" | |
6249 | }, | |
6250 | "type" : { | |
6251 | "description" : "Plugin type.", | |
6252 | "enum" : [ | |
6253 | "evpn", | |
6254 | "faucet" | |
6255 | ], | |
6256 | "format" : "pve-configid", | |
6257 | "type" : "string" | |
6258 | } | |
6259 | }, | |
6260 | "type" : "object" | |
6261 | }, | |
6262 | "permissions" : { | |
6263 | "check" : [ | |
6264 | "perm", | |
6265 | "/sdn/controllers", | |
6266 | [ | |
6267 | "SDN.Allocate" | |
6268 | ] | |
6269 | ] | |
6270 | }, | |
6271 | "protected" : 1, | |
6272 | "returns" : { | |
6273 | "type" : "null" | |
6274 | } | |
6275 | } | |
6276 | }, | |
6277 | "leaf" : 0, | |
6278 | "path" : "/cluster/sdn/controllers", | |
6279 | "text" : "controllers" | |
6280 | } | |
6281 | ], | |
6282 | "info" : { | |
6283 | "GET" : { | |
6284 | "allowtoken" : 1, | |
6285 | "description" : "Directory index.", | |
6286 | "method" : "GET", | |
6287 | "name" : "index", | |
6288 | "parameters" : { | |
6289 | "additionalProperties" : 0 | |
6290 | }, | |
6291 | "permissions" : { | |
6292 | "check" : [ | |
6293 | "perm", | |
6294 | "/", | |
6295 | [ | |
6296 | "SDN.Audit" | |
6297 | ] | |
6298 | ] | |
6299 | }, | |
6300 | "returns" : { | |
6301 | "items" : { | |
6302 | "properties" : { | |
6303 | "id" : { | |
6304 | "type" : "string" | |
6305 | } | |
6306 | }, | |
6307 | "type" : "object" | |
6308 | }, | |
6309 | "links" : [ | |
6310 | { | |
6311 | "href" : "{id}", | |
6312 | "rel" : "child" | |
6313 | } | |
6314 | ], | |
6315 | "type" : "array" | |
6316 | } | |
6317 | }, | |
6318 | "PUT" : { | |
6319 | "allowtoken" : 1, | |
6320 | "description" : "Apply sdn controller changes && reload.", | |
6321 | "method" : "PUT", | |
6322 | "name" : "reload", | |
6323 | "parameters" : { | |
6324 | "additionalProperties" : 0 | |
6325 | }, | |
6326 | "permissions" : { | |
6327 | "check" : [ | |
6328 | "perm", | |
6329 | "/sdn", | |
6330 | [ | |
6331 | "SDN.Allocate" | |
6332 | ] | |
6333 | ] | |
6334 | }, | |
6335 | "protected" : 1, | |
6336 | "returns" : { | |
6337 | "type" : "string" | |
6338 | } | |
6339 | } | |
6340 | }, | |
6341 | "leaf" : 0, | |
6342 | "path" : "/cluster/sdn", | |
6343 | "text" : "sdn" | |
6344 | }, | |
7aacca6f | 6345 | { |
7aacca6f DM |
6346 | "info" : { |
6347 | "GET" : { | |
e9cd3bd4 | 6348 | "allowtoken" : 1, |
7aacca6f | 6349 | "description" : "Read cluster log", |
44660702 DM |
6350 | "method" : "GET", |
6351 | "name" : "log", | |
56122987 | 6352 | "parameters" : { |
7aacca6f | 6353 | "additionalProperties" : 0, |
56122987 DM |
6354 | "properties" : { |
6355 | "max" : { | |
7aacca6f | 6356 | "description" : "Maximum number of entries.", |
44660702 DM |
6357 | "minimum" : 1, |
6358 | "optional" : 1, | |
4bd7df8b | 6359 | "type" : "integer", |
013dc89f | 6360 | "typetext" : "<integer> (1 - N)" |
56122987 | 6361 | } |
7aacca6f | 6362 | } |
56122987 | 6363 | }, |
44660702 DM |
6364 | "permissions" : { |
6365 | "user" : "all" | |
6366 | }, | |
7aacca6f | 6367 | "returns" : { |
7aacca6f | 6368 | "items" : { |
44660702 DM |
6369 | "properties" : {}, |
6370 | "type" : "object" | |
6371 | }, | |
6372 | "type" : "array" | |
7aacca6f | 6373 | } |
56122987 | 6374 | } |
44660702 DM |
6375 | }, |
6376 | "leaf" : 1, | |
6377 | "path" : "/cluster/log", | |
6378 | "text" : "log" | |
56122987 DM |
6379 | }, |
6380 | { | |
56122987 DM |
6381 | "info" : { |
6382 | "GET" : { | |
e9cd3bd4 | 6383 | "allowtoken" : 1, |
44660702 | 6384 | "description" : "Resources index (cluster wide).", |
7aacca6f | 6385 | "method" : "GET", |
7aacca6f | 6386 | "name" : "resources", |
56122987 DM |
6387 | "parameters" : { |
6388 | "additionalProperties" : 0, | |
6389 | "properties" : { | |
6390 | "type" : { | |
6391 | "enum" : [ | |
6392 | "vm", | |
6393 | "storage", | |
1c532546 TL |
6394 | "node", |
6395 | "sdn" | |
44660702 DM |
6396 | ], |
6397 | "optional" : 1, | |
6398 | "type" : "string" | |
56122987 DM |
6399 | } |
6400 | } | |
6401 | }, | |
44660702 DM |
6402 | "permissions" : { |
6403 | "user" : "all" | |
6404 | }, | |
6405 | "returns" : { | |
6406 | "items" : { | |
4d47f125 TL |
6407 | "properties" : { |
6408 | "cpu" : { | |
6409 | "description" : "CPU utilization (when type in node,qemu,lxc).", | |
6410 | "optional" : 1, | |
6411 | "renderer" : "fraction_as_percentage", | |
6412 | "type" : "number" | |
6413 | }, | |
6414 | "disk" : { | |
6415 | "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).", | |
6416 | "optional" : 1, | |
6417 | "renderer" : "bytes", | |
6418 | "type" : "string" | |
6419 | }, | |
6420 | "hastate" : { | |
6421 | "description" : "HA service status (for HA managed VMs).", | |
6422 | "optional" : 1, | |
6423 | "type" : "string" | |
6424 | }, | |
6425 | "id" : { | |
6426 | "type" : "string" | |
6427 | }, | |
6428 | "level" : { | |
6429 | "description" : "Support level (when type == node).", | |
6430 | "optional" : 1, | |
6431 | "type" : "string" | |
6432 | }, | |
6433 | "maxcpu" : { | |
6434 | "description" : "Number of available CPUs (when type in node,qemu,lxc).", | |
6435 | "optional" : 1, | |
6436 | "type" : "number" | |
6437 | }, | |
6438 | "maxdisk" : { | |
6439 | "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).", | |
6440 | "optional" : 1, | |
6441 | "renderer" : "bytes", | |
6442 | "type" : "integer" | |
6443 | }, | |
6444 | "maxmem" : { | |
6445 | "description" : "Number of available memory in bytes (when type in node,qemu,lxc).", | |
6446 | "optional" : 1, | |
6447 | "renderer" : "bytes", | |
6448 | "type" : "integer" | |
6449 | }, | |
6450 | "mem" : { | |
6451 | "description" : "Used memory in bytes (when type in node,qemu,lxc).", | |
6452 | "optional" : 1, | |
6453 | "renderer" : "bytes", | |
6454 | "type" : "string" | |
6455 | }, | |
6456 | "node" : { | |
6457 | "description" : "The cluster node name (when type in node,storage,qemu,lxc).", | |
6458 | "format" : "pve-node", | |
6459 | "optional" : 1, | |
6460 | "type" : "string" | |
6461 | }, | |
6462 | "pool" : { | |
6463 | "description" : "The pool name (when type in pool,qemu,lxc).", | |
6464 | "optional" : 1, | |
6465 | "type" : "string" | |
6466 | }, | |
6467 | "status" : { | |
6468 | "description" : "Resource type dependent status.", | |
6469 | "optional" : 1, | |
6470 | "type" : "string" | |
6471 | }, | |
6472 | "storage" : { | |
6473 | "description" : "The storage identifier (when type == storage).", | |
6474 | "format" : "pve-storage-id", | |
6475 | "optional" : 1, | |
6476 | "type" : "string" | |
6477 | }, | |
6478 | "type" : { | |
6479 | "description" : "Resource type.", | |
6480 | "enum" : [ | |
6481 | "node", | |
6482 | "storage", | |
6483 | "pool", | |
6484 | "qemu", | |
6485 | "lxc", | |
1c532546 TL |
6486 | "openvz", |
6487 | "sdn" | |
4d47f125 TL |
6488 | ], |
6489 | "type" : "string" | |
6490 | }, | |
6491 | "uptime" : { | |
6492 | "description" : "Node uptime in seconds (when type in node,qemu,lxc).", | |
6493 | "optional" : 1, | |
6494 | "renderer" : "duration", | |
6495 | "type" : "integer" | |
6496 | } | |
6497 | }, | |
44660702 DM |
6498 | "type" : "object" |
6499 | }, | |
6500 | "type" : "array" | |
6501 | } | |
56122987 DM |
6502 | } |
6503 | }, | |
7aacca6f | 6504 | "leaf" : 1, |
44660702 DM |
6505 | "path" : "/cluster/resources", |
6506 | "text" : "resources" | |
56122987 DM |
6507 | }, |
6508 | { | |
56122987 DM |
6509 | "info" : { |
6510 | "GET" : { | |
e9cd3bd4 | 6511 | "allowtoken" : 1, |
7aacca6f | 6512 | "description" : "List recent tasks (cluster wide).", |
44660702 | 6513 | "method" : "GET", |
7aacca6f | 6514 | "name" : "tasks", |
56122987 DM |
6515 | "parameters" : { |
6516 | "additionalProperties" : 0 | |
6517 | }, | |
44660702 DM |
6518 | "permissions" : { |
6519 | "user" : "all" | |
6520 | }, | |
56122987 DM |
6521 | "returns" : { |
6522 | "items" : { | |
6523 | "properties" : { | |
6524 | "upid" : { | |
6525 | "type" : "string" | |
6526 | } | |
44660702 DM |
6527 | }, |
6528 | "type" : "object" | |
6529 | }, | |
6530 | "type" : "array" | |
7aacca6f | 6531 | } |
56122987 DM |
6532 | } |
6533 | }, | |
7aacca6f | 6534 | "leaf" : 1, |
44660702 DM |
6535 | "path" : "/cluster/tasks", |
6536 | "text" : "tasks" | |
56122987 DM |
6537 | }, |
6538 | { | |
56122987 | 6539 | "info" : { |
7aacca6f | 6540 | "GET" : { |
e9cd3bd4 | 6541 | "allowtoken" : 1, |
44660702 DM |
6542 | "description" : "Get datacenter options.", |
6543 | "method" : "GET", | |
6544 | "name" : "get_options", | |
56122987 | 6545 | "parameters" : { |
7aacca6f DM |
6546 | "additionalProperties" : 0 |
6547 | }, | |
6548 | "permissions" : { | |
6549 | "check" : [ | |
6550 | "perm", | |
6551 | "/", | |
6552 | [ | |
6553 | "Sys.Audit" | |
6554 | ] | |
6555 | ] | |
6556 | }, | |
7aacca6f | 6557 | "returns" : { |
44660702 | 6558 | "type" : "object" |
7aacca6f DM |
6559 | } |
6560 | }, | |
6561 | "PUT" : { | |
e9cd3bd4 | 6562 | "allowtoken" : 1, |
44660702 DM |
6563 | "description" : "Set datacenter options.", |
6564 | "method" : "PUT", | |
7aacca6f DM |
6565 | "name" : "set_options", |
6566 | "parameters" : { | |
6567 | "additionalProperties" : 0, | |
6568 | "properties" : { | |
27a7acb2 DM |
6569 | "bwlimit" : { |
6570 | "description" : "Set bandwidth/io limits various operations.", | |
6571 | "format" : { | |
6572 | "clone" : { | |
95895385 | 6573 | "description" : "bandwidth limit in KiB/s for cloning disks", |
27a7acb2 DM |
6574 | "format_description" : "LIMIT", |
6575 | "minimum" : "0", | |
6576 | "optional" : 1, | |
6577 | "type" : "number" | |
6578 | }, | |
6579 | "default" : { | |
95895385 | 6580 | "description" : "default bandwidth limit in KiB/s", |
27a7acb2 DM |
6581 | "format_description" : "LIMIT", |
6582 | "minimum" : "0", | |
6583 | "optional" : 1, | |
6584 | "type" : "number" | |
6585 | }, | |
6586 | "migration" : { | |
95895385 | 6587 | "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)", |
27a7acb2 DM |
6588 | "format_description" : "LIMIT", |
6589 | "minimum" : "0", | |
6590 | "optional" : 1, | |
6591 | "type" : "number" | |
6592 | }, | |
6593 | "move" : { | |
95895385 | 6594 | "description" : "bandwidth limit in KiB/s for moving disks", |
27a7acb2 DM |
6595 | "format_description" : "LIMIT", |
6596 | "minimum" : "0", | |
6597 | "optional" : 1, | |
6598 | "type" : "number" | |
6599 | }, | |
6600 | "restore" : { | |
95895385 | 6601 | "description" : "bandwidth limit in KiB/s for restoring guests from backups", |
27a7acb2 DM |
6602 | "format_description" : "LIMIT", |
6603 | "minimum" : "0", | |
6604 | "optional" : 1, | |
6605 | "type" : "number" | |
6606 | } | |
6607 | }, | |
6608 | "optional" : 1, | |
6609 | "type" : "string", | |
6610 | "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]" | |
6611 | }, | |
56122987 | 6612 | "console" : { |
a9a8e3d1 | 6613 | "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.", |
56122987 DM |
6614 | "enum" : [ |
6615 | "applet", | |
6616 | "vv", | |
a9a8e3d1 DM |
6617 | "html5", |
6618 | "xtermjs" | |
44660702 DM |
6619 | ], |
6620 | "optional" : 1, | |
6621 | "type" : "string" | |
56122987 | 6622 | }, |
7aacca6f | 6623 | "delete" : { |
7aacca6f | 6624 | "description" : "A list of settings you want to delete.", |
44660702 | 6625 | "format" : "pve-configid-list", |
7aacca6f | 6626 | "optional" : 1, |
013dc89f DM |
6627 | "type" : "string", |
6628 | "typetext" : "<string>" | |
7aacca6f | 6629 | }, |
44660702 DM |
6630 | "email_from" : { |
6631 | "description" : "Specify email address to send notification from (default is root@$hostname)", | |
6632 | "format" : "email-opt", | |
7aacca6f | 6633 | "optional" : 1, |
013dc89f DM |
6634 | "type" : "string", |
6635 | "typetext" : "<string>" | |
44660702 DM |
6636 | }, |
6637 | "fencing" : { | |
6638 | "default" : "watchdog", | |
6639 | "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 | 6640 | "enum" : [ |
44660702 DM |
6641 | "watchdog", |
6642 | "hardware", | |
6643 | "both" | |
7aacca6f | 6644 | ], |
44660702 DM |
6645 | "optional" : 1, |
6646 | "type" : "string" | |
6647 | }, | |
5f26e15b TL |
6648 | "ha" : { |
6649 | "description" : "Cluster wide HA settings.", | |
6650 | "format" : { | |
6651 | "shutdown_policy" : { | |
6652 | "default" : "conditional", | |
5c1699e5 | 6653 | "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.", |
5f26e15b TL |
6654 | "enum" : [ |
6655 | "freeze", | |
6656 | "failover", | |
5c1699e5 TL |
6657 | "conditional", |
6658 | "migrate" | |
5f26e15b TL |
6659 | ], |
6660 | "type" : "string", | |
e9cd3bd4 | 6661 | "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node when a reboot or shutdown was triggered. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place." |
5f26e15b TL |
6662 | } |
6663 | }, | |
6664 | "optional" : 1, | |
6665 | "type" : "string", | |
5c1699e5 | 6666 | "typetext" : "shutdown_policy=<enum>" |
5f26e15b | 6667 | }, |
44660702 DM |
6668 | "http_proxy" : { |
6669 | "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')", | |
6670 | "optional" : 1, | |
6671 | "pattern" : "http://.*", | |
6672 | "type" : "string" | |
7aacca6f | 6673 | }, |
56122987 | 6674 | "keyboard" : { |
44660702 | 6675 | "description" : "Default keybord layout for vnc server.", |
56122987 | 6676 | "enum" : [ |
44660702 DM |
6677 | "de", |
6678 | "de-ch", | |
7aacca6f | 6679 | "da", |
56122987 | 6680 | "en-gb", |
44660702 DM |
6681 | "en-us", |
6682 | "es", | |
6683 | "fi", | |
6684 | "fr", | |
6685 | "fr-be", | |
6686 | "fr-ca", | |
6687 | "fr-ch", | |
6688 | "hu", | |
7aacca6f | 6689 | "is", |
44660702 DM |
6690 | "it", |
6691 | "ja", | |
6692 | "lt", | |
56122987 | 6693 | "mk", |
7aacca6f | 6694 | "nl", |
56122987 | 6695 | "no", |
44660702 | 6696 | "pl", |
7aacca6f | 6697 | "pt", |
44660702 DM |
6698 | "pt-br", |
6699 | "sv", | |
6700 | "sl", | |
6701 | "tr" | |
56122987 | 6702 | ], |
56122987 DM |
6703 | "optional" : 1, |
6704 | "type" : "string" | |
6705 | }, | |
44660702 DM |
6706 | "language" : { |
6707 | "description" : "Default GUI language.", | |
6708 | "enum" : [ | |
4d47f125 | 6709 | "ca", |
1c532546 TL |
6710 | "da", |
6711 | "de", | |
44660702 | 6712 | "en", |
1c532546 | 6713 | "es", |
4d47f125 | 6714 | "eu", |
1c532546 | 6715 | "fa", |
4d47f125 | 6716 | "fr", |
1c532546 | 6717 | "he", |
4d47f125 | 6718 | "it", |
4d47f125 TL |
6719 | "ja", |
6720 | "nb", | |
6721 | "nn", | |
4d47f125 TL |
6722 | "pl", |
6723 | "pt_BR", | |
6724 | "ru", | |
6725 | "sl", | |
6726 | "sv", | |
1c532546 TL |
6727 | "tr", |
6728 | "zh_CN", | |
6729 | "zh_TW" | |
44660702 | 6730 | ], |
56122987 | 6731 | "optional" : 1, |
44660702 | 6732 | "type" : "string" |
56122987 | 6733 | }, |
4bd7df8b DM |
6734 | "mac_prefix" : { |
6735 | "description" : "Prefix for autogenerated MAC addresses.", | |
95895385 | 6736 | "format" : "mac-prefix", |
4bd7df8b | 6737 | "optional" : 1, |
95895385 TL |
6738 | "type" : "string", |
6739 | "typetext" : "<string>" | |
4bd7df8b | 6740 | }, |
44660702 DM |
6741 | "max_workers" : { |
6742 | "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.", | |
6743 | "minimum" : 1, | |
56122987 | 6744 | "optional" : 1, |
4bd7df8b | 6745 | "type" : "integer", |
013dc89f | 6746 | "typetext" : "<integer> (1 - N)" |
56122987 | 6747 | }, |
de0983cb DM |
6748 | "migration" : { |
6749 | "description" : "For cluster wide migration settings.", | |
6750 | "format" : { | |
6751 | "network" : { | |
6752 | "description" : "CIDR of the (sub) network that is used for migration.", | |
6753 | "format" : "CIDR", | |
6754 | "format_description" : "CIDR", | |
6755 | "optional" : 1, | |
6756 | "type" : "string" | |
6757 | }, | |
6758 | "type" : { | |
6759 | "default" : "secure", | |
6760 | "default_key" : 1, | |
6761 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
6762 | "enum" : [ | |
6763 | "secure", | |
6764 | "insecure" | |
6765 | ], | |
6766 | "type" : "string" | |
6767 | } | |
6768 | }, | |
6769 | "optional" : 1, | |
6770 | "type" : "string", | |
6771 | "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]" | |
6772 | }, | |
7aacca6f | 6773 | "migration_unsecure" : { |
de0983cb | 6774 | "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 | 6775 | "optional" : 1, |
013dc89f DM |
6776 | "type" : "boolean", |
6777 | "typetext" : "<boolean>" | |
95895385 TL |
6778 | }, |
6779 | "u2f" : { | |
6780 | "description" : "u2f", | |
6781 | "format" : { | |
6782 | "appid" : { | |
6783 | "description" : "U2F AppId URL override. Defaults to the origin.", | |
6784 | "format_description" : "APPID", | |
6785 | "optional" : 1, | |
6786 | "type" : "string" | |
6787 | }, | |
6788 | "origin" : { | |
6789 | "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.", | |
6790 | "format_description" : "URL", | |
6791 | "optional" : 1, | |
6792 | "type" : "string" | |
6793 | } | |
6794 | }, | |
6795 | "optional" : 1, | |
6796 | "type" : "string", | |
6797 | "typetext" : "[appid=<APPID>] [,origin=<URL>]" | |
56122987 DM |
6798 | } |
6799 | } | |
6800 | }, | |
44660702 DM |
6801 | "permissions" : { |
6802 | "check" : [ | |
6803 | "perm", | |
6804 | "/", | |
6805 | [ | |
6806 | "Sys.Modify" | |
6807 | ] | |
6808 | ] | |
6809 | }, | |
56122987 | 6810 | "protected" : 1, |
7aacca6f DM |
6811 | "returns" : { |
6812 | "type" : "null" | |
44660702 | 6813 | } |
7aacca6f DM |
6814 | } |
6815 | }, | |
44660702 DM |
6816 | "leaf" : 1, |
6817 | "path" : "/cluster/options", | |
7aacca6f DM |
6818 | "text" : "options" |
6819 | }, | |
6820 | { | |
7aacca6f | 6821 | "info" : { |
56122987 | 6822 | "GET" : { |
e9cd3bd4 | 6823 | "allowtoken" : 1, |
1e3f8156 | 6824 | "description" : "Get cluster status information.", |
44660702 DM |
6825 | "method" : "GET", |
6826 | "name" : "get_status", | |
56122987 DM |
6827 | "parameters" : { |
6828 | "additionalProperties" : 0 | |
6829 | }, | |
56122987 DM |
6830 | "permissions" : { |
6831 | "check" : [ | |
6832 | "perm", | |
6833 | "/", | |
6834 | [ | |
6835 | "Sys.Audit" | |
6836 | ] | |
6837 | ] | |
6838 | }, | |
7aacca6f | 6839 | "protected" : 1, |
56122987 | 6840 | "returns" : { |
56122987 | 6841 | "items" : { |
56122987 | 6842 | "properties" : { |
e9cd3bd4 TL |
6843 | "id" : { |
6844 | "type" : "string" | |
6845 | }, | |
6846 | "ip" : { | |
6847 | "description" : "[node] IP of the resolved nodename.", | |
6848 | "optional" : 1, | |
6849 | "type" : "string" | |
6850 | }, | |
6851 | "level" : { | |
6852 | "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.", | |
6853 | "optional" : 1, | |
6854 | "type" : "string" | |
6855 | }, | |
6856 | "local" : { | |
6857 | "description" : "[node] Indicates if this is the responding node.", | |
6858 | "optional" : 1, | |
6859 | "type" : "boolean" | |
6860 | }, | |
6861 | "name" : { | |
6862 | "type" : "string" | |
6863 | }, | |
6864 | "nodeid" : { | |
6865 | "description" : "[node] ID of the node from the corosync configuration.", | |
6866 | "optional" : 1, | |
6867 | "type" : "integer" | |
6868 | }, | |
6869 | "nodes" : { | |
6870 | "description" : "[cluster] Nodes count, including offline nodes.", | |
6871 | "optional" : 1, | |
6872 | "type" : "integer" | |
6873 | }, | |
6874 | "online" : { | |
6875 | "description" : "[node] Indicates if the node is online or offline.", | |
6876 | "optional" : 1, | |
6877 | "type" : "boolean" | |
6878 | }, | |
6879 | "quorate" : { | |
6880 | "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions", | |
6881 | "optional" : 1, | |
6882 | "type" : "boolean" | |
6883 | }, | |
56122987 | 6884 | "type" : { |
e9cd3bd4 TL |
6885 | "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.", |
6886 | "enum" : [ | |
6887 | "cluster", | |
6888 | "node" | |
6889 | ], | |
56122987 | 6890 | "type" : "string" |
e9cd3bd4 TL |
6891 | }, |
6892 | "version" : { | |
6893 | "description" : "[cluster] Current version of the corosync configuration file.", | |
6894 | "optional" : 1, | |
6895 | "type" : "integer" | |
56122987 | 6896 | } |
44660702 DM |
6897 | }, |
6898 | "type" : "object" | |
7aacca6f DM |
6899 | }, |
6900 | "type" : "array" | |
56122987 DM |
6901 | } |
6902 | } | |
6903 | }, | |
44660702 | 6904 | "leaf" : 1, |
7aacca6f | 6905 | "path" : "/cluster/status", |
44660702 | 6906 | "text" : "status" |
56122987 DM |
6907 | }, |
6908 | { | |
56122987 DM |
6909 | "info" : { |
6910 | "GET" : { | |
e9cd3bd4 | 6911 | "allowtoken" : 1, |
56122987 | 6912 | "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.", |
44660702 DM |
6913 | "method" : "GET", |
6914 | "name" : "nextid", | |
56122987 | 6915 | "parameters" : { |
44660702 | 6916 | "additionalProperties" : 0, |
56122987 DM |
6917 | "properties" : { |
6918 | "vmid" : { | |
44660702 | 6919 | "description" : "The (unique) ID of the VM.", |
56122987 | 6920 | "format" : "pve-vmid", |
7aacca6f | 6921 | "minimum" : 1, |
7aacca6f | 6922 | "optional" : 1, |
4bd7df8b | 6923 | "type" : "integer", |
013dc89f | 6924 | "typetext" : "<integer> (1 - N)" |
56122987 | 6925 | } |
44660702 | 6926 | } |
56122987 | 6927 | }, |
7aacca6f DM |
6928 | "permissions" : { |
6929 | "user" : "all" | |
44660702 DM |
6930 | }, |
6931 | "returns" : { | |
6932 | "description" : "The next free VMID.", | |
6933 | "type" : "integer" | |
7aacca6f | 6934 | } |
56122987 DM |
6935 | } |
6936 | }, | |
7aacca6f | 6937 | "leaf" : 1, |
44660702 DM |
6938 | "path" : "/cluster/nextid", |
6939 | "text" : "nextid" | |
56122987 DM |
6940 | } |
6941 | ], | |
44660702 DM |
6942 | "info" : { |
6943 | "GET" : { | |
e9cd3bd4 | 6944 | "allowtoken" : 1, |
44660702 DM |
6945 | "description" : "Cluster index.", |
6946 | "method" : "GET", | |
6947 | "name" : "index", | |
6948 | "parameters" : { | |
6949 | "additionalProperties" : 0 | |
6950 | }, | |
6951 | "permissions" : { | |
6952 | "user" : "all" | |
6953 | }, | |
6954 | "returns" : { | |
6955 | "items" : { | |
6956 | "properties" : {}, | |
6957 | "type" : "object" | |
6958 | }, | |
6959 | "links" : [ | |
6960 | { | |
6961 | "href" : "{name}", | |
6962 | "rel" : "child" | |
6963 | } | |
6964 | ], | |
6965 | "type" : "array" | |
6966 | } | |
6967 | } | |
6968 | }, | |
6969 | "leaf" : 0, | |
6970 | "path" : "/cluster", | |
7aacca6f | 6971 | "text" : "cluster" |
56122987 DM |
6972 | }, |
6973 | { | |
56122987 DM |
6974 | "children" : [ |
6975 | { | |
7aacca6f DM |
6976 | "children" : [ |
6977 | { | |
6978 | "children" : [ | |
6979 | { | |
56122987 DM |
6980 | "children" : [ |
6981 | { | |
56122987 DM |
6982 | "children" : [ |
6983 | { | |
6984 | "children" : [ | |
6985 | { | |
56122987 DM |
6986 | "info" : { |
6987 | "DELETE" : { | |
e9cd3bd4 | 6988 | "allowtoken" : 1, |
44660702 | 6989 | "description" : "Delete rule.", |
7aacca6f | 6990 | "method" : "DELETE", |
44660702 | 6991 | "name" : "delete_rule", |
56122987 | 6992 | "parameters" : { |
44660702 | 6993 | "additionalProperties" : 0, |
56122987 | 6994 | "properties" : { |
44660702 DM |
6995 | "digest" : { |
6996 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
6997 | "maxLength" : 40, | |
6998 | "optional" : 1, | |
013dc89f DM |
6999 | "type" : "string", |
7000 | "typetext" : "<string>" | |
44660702 | 7001 | }, |
56122987 | 7002 | "node" : { |
7aacca6f | 7003 | "description" : "The cluster node name.", |
44660702 | 7004 | "format" : "pve-node", |
013dc89f DM |
7005 | "type" : "string", |
7006 | "typetext" : "<string>" | |
7aacca6f | 7007 | }, |
56122987 | 7008 | "pos" : { |
7aacca6f | 7009 | "description" : "Update rule at position <pos>.", |
44660702 | 7010 | "minimum" : 0, |
56122987 | 7011 | "optional" : 1, |
4bd7df8b | 7012 | "type" : "integer", |
013dc89f | 7013 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
7014 | }, |
7015 | "vmid" : { | |
7016 | "description" : "The (unique) ID of the VM.", | |
7017 | "format" : "pve-vmid", | |
7018 | "minimum" : 1, | |
4bd7df8b | 7019 | "type" : "integer", |
013dc89f | 7020 | "typetext" : "<integer> (1 - N)" |
56122987 | 7021 | } |
44660702 | 7022 | } |
7aacca6f | 7023 | }, |
56122987 DM |
7024 | "permissions" : { |
7025 | "check" : [ | |
7026 | "perm", | |
7027 | "/vms/{vmid}", | |
7028 | [ | |
7029 | "VM.Config.Network" | |
7030 | ] | |
7031 | ] | |
7032 | }, | |
44660702 DM |
7033 | "protected" : 1, |
7034 | "proxyto" : null, | |
56122987 DM |
7035 | "returns" : { |
7036 | "type" : "null" | |
44660702 DM |
7037 | } |
7038 | }, | |
7039 | "GET" : { | |
e9cd3bd4 | 7040 | "allowtoken" : 1, |
44660702 DM |
7041 | "description" : "Get single rule data.", |
7042 | "method" : "GET", | |
7043 | "name" : "get_rule", | |
7044 | "parameters" : { | |
7045 | "additionalProperties" : 0, | |
7046 | "properties" : { | |
7047 | "node" : { | |
7048 | "description" : "The cluster node name.", | |
7049 | "format" : "pve-node", | |
013dc89f DM |
7050 | "type" : "string", |
7051 | "typetext" : "<string>" | |
44660702 DM |
7052 | }, |
7053 | "pos" : { | |
7054 | "description" : "Update rule at position <pos>.", | |
7055 | "minimum" : 0, | |
7056 | "optional" : 1, | |
4bd7df8b | 7057 | "type" : "integer", |
013dc89f | 7058 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
7059 | }, |
7060 | "vmid" : { | |
7061 | "description" : "The (unique) ID of the VM.", | |
7062 | "format" : "pve-vmid", | |
7063 | "minimum" : 1, | |
4bd7df8b | 7064 | "type" : "integer", |
013dc89f | 7065 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
7066 | } |
7067 | } | |
56122987 | 7068 | }, |
56122987 DM |
7069 | "permissions" : { |
7070 | "check" : [ | |
7071 | "perm", | |
7072 | "/vms/{vmid}", | |
7073 | [ | |
44660702 | 7074 | "VM.Audit" |
56122987 DM |
7075 | ] |
7076 | ] | |
7077 | }, | |
56122987 | 7078 | "proxyto" : null, |
44660702 DM |
7079 | "returns" : { |
7080 | "properties" : { | |
e2d681b3 TL |
7081 | "action" : { |
7082 | "type" : "string" | |
7083 | }, | |
7084 | "comment" : { | |
7085 | "optional" : 1, | |
7086 | "type" : "string" | |
7087 | }, | |
7088 | "dest" : { | |
7089 | "optional" : 1, | |
7090 | "type" : "string" | |
7091 | }, | |
7092 | "dport" : { | |
7093 | "optional" : 1, | |
7094 | "type" : "string" | |
7095 | }, | |
7096 | "enable" : { | |
7097 | "optional" : 1, | |
7098 | "type" : "integer" | |
7099 | }, | |
7100 | "iface" : { | |
7101 | "optional" : 1, | |
7102 | "type" : "string" | |
7103 | }, | |
7104 | "ipversion" : { | |
7105 | "optional" : 1, | |
7106 | "type" : "integer" | |
7107 | }, | |
95895385 TL |
7108 | "log" : { |
7109 | "description" : "Log level for firewall rule", | |
7110 | "enum" : [ | |
7111 | "emerg", | |
7112 | "alert", | |
7113 | "crit", | |
7114 | "err", | |
7115 | "warning", | |
7116 | "notice", | |
7117 | "info", | |
7118 | "debug", | |
7119 | "nolog" | |
7120 | ], | |
7121 | "optional" : 1, | |
7122 | "type" : "string" | |
7123 | }, | |
e2d681b3 TL |
7124 | "macro" : { |
7125 | "optional" : 1, | |
5f26e15b | 7126 | "type" : "string" |
e2d681b3 | 7127 | }, |
44660702 DM |
7128 | "pos" : { |
7129 | "type" : "integer" | |
e2d681b3 TL |
7130 | }, |
7131 | "proto" : { | |
7132 | "optional" : 1, | |
7133 | "type" : "string" | |
7134 | }, | |
7135 | "source" : { | |
7136 | "optional" : 1, | |
7137 | "type" : "string" | |
7138 | }, | |
7139 | "sport" : { | |
7140 | "optional" : 1, | |
7141 | "type" : "string" | |
7142 | }, | |
7143 | "type" : { | |
7144 | "type" : "string" | |
44660702 DM |
7145 | } |
7146 | }, | |
7147 | "type" : "object" | |
7148 | } | |
7149 | }, | |
7150 | "PUT" : { | |
e9cd3bd4 | 7151 | "allowtoken" : 1, |
7aacca6f DM |
7152 | "description" : "Modify rule data.", |
7153 | "method" : "PUT", | |
44660702 | 7154 | "name" : "update_rule", |
56122987 | 7155 | "parameters" : { |
44660702 | 7156 | "additionalProperties" : 0, |
56122987 | 7157 | "properties" : { |
44660702 DM |
7158 | "action" : { |
7159 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
7160 | "maxLength" : 20, | |
7161 | "minLength" : 2, | |
56122987 | 7162 | "optional" : 1, |
44660702 | 7163 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7aacca6f DM |
7164 | "type" : "string" |
7165 | }, | |
7aacca6f | 7166 | "comment" : { |
e94f0d56 | 7167 | "description" : "Descriptive comment.", |
7aacca6f | 7168 | "optional" : 1, |
013dc89f DM |
7169 | "type" : "string", |
7170 | "typetext" : "<string>" | |
7aacca6f DM |
7171 | }, |
7172 | "delete" : { | |
7aacca6f | 7173 | "description" : "A list of settings you want to delete.", |
44660702 DM |
7174 | "format" : "pve-configid-list", |
7175 | "optional" : 1, | |
013dc89f DM |
7176 | "type" : "string", |
7177 | "typetext" : "<string>" | |
7aacca6f DM |
7178 | }, |
7179 | "dest" : { | |
44660702 | 7180 | "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 | 7181 | "format" : "pve-fw-addr-spec", |
56122987 | 7182 | "optional" : 1, |
013dc89f DM |
7183 | "type" : "string", |
7184 | "typetext" : "<string>" | |
56122987 | 7185 | }, |
7aacca6f | 7186 | "digest" : { |
44660702 | 7187 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
7aacca6f | 7188 | "maxLength" : 40, |
56122987 | 7189 | "optional" : 1, |
013dc89f DM |
7190 | "type" : "string", |
7191 | "typetext" : "<string>" | |
44660702 DM |
7192 | }, |
7193 | "dport" : { | |
7194 | "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.", | |
7195 | "format" : "pve-fw-dport-spec", | |
7196 | "optional" : 1, | |
013dc89f DM |
7197 | "type" : "string", |
7198 | "typetext" : "<string>" | |
56122987 | 7199 | }, |
7aacca6f | 7200 | "enable" : { |
e94f0d56 | 7201 | "description" : "Flag to enable/disable a rule.", |
44660702 | 7202 | "minimum" : 0, |
56122987 | 7203 | "optional" : 1, |
4bd7df8b | 7204 | "type" : "integer", |
013dc89f | 7205 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 7206 | }, |
44660702 DM |
7207 | "iface" : { |
7208 | "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.", | |
7209 | "format" : "pve-iface", | |
7210 | "maxLength" : 20, | |
7aacca6f | 7211 | "minLength" : 2, |
56122987 | 7212 | "optional" : 1, |
013dc89f DM |
7213 | "type" : "string", |
7214 | "typetext" : "<string>" | |
56122987 | 7215 | }, |
95895385 TL |
7216 | "log" : { |
7217 | "description" : "Log level for firewall rule.", | |
7218 | "enum" : [ | |
7219 | "emerg", | |
7220 | "alert", | |
7221 | "crit", | |
7222 | "err", | |
7223 | "warning", | |
7224 | "notice", | |
7225 | "info", | |
7226 | "debug", | |
7227 | "nolog" | |
7228 | ], | |
7229 | "optional" : 1, | |
7230 | "type" : "string" | |
7231 | }, | |
44660702 | 7232 | "macro" : { |
e94f0d56 | 7233 | "description" : "Use predefined standard macro.", |
44660702 | 7234 | "maxLength" : 128, |
56122987 | 7235 | "optional" : 1, |
013dc89f DM |
7236 | "type" : "string", |
7237 | "typetext" : "<string>" | |
56122987 | 7238 | }, |
44660702 DM |
7239 | "moveto" : { |
7240 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
7241 | "minimum" : 0, | |
56122987 | 7242 | "optional" : 1, |
4bd7df8b | 7243 | "type" : "integer", |
013dc89f | 7244 | "typetext" : "<integer> (0 - N)" |
56122987 | 7245 | }, |
44660702 DM |
7246 | "node" : { |
7247 | "description" : "The cluster node name.", | |
7248 | "format" : "pve-node", | |
013dc89f DM |
7249 | "type" : "string", |
7250 | "typetext" : "<string>" | |
44660702 DM |
7251 | }, |
7252 | "pos" : { | |
7253 | "description" : "Update rule at position <pos>.", | |
7254 | "minimum" : 0, | |
7255 | "optional" : 1, | |
4bd7df8b | 7256 | "type" : "integer", |
013dc89f | 7257 | "typetext" : "<integer> (0 - N)" |
56122987 | 7258 | }, |
44660702 DM |
7259 | "proto" : { |
7260 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
7261 | "format" : "pve-fw-protocol-spec", | |
7262 | "optional" : 1, | |
013dc89f DM |
7263 | "type" : "string", |
7264 | "typetext" : "<string>" | |
7aacca6f | 7265 | }, |
44660702 DM |
7266 | "source" : { |
7267 | "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.", | |
7268 | "format" : "pve-fw-addr-spec", | |
56122987 | 7269 | "optional" : 1, |
013dc89f DM |
7270 | "type" : "string", |
7271 | "typetext" : "<string>" | |
56122987 DM |
7272 | }, |
7273 | "sport" : { | |
7274 | "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 |
7275 | "format" : "pve-fw-sport-spec", |
7276 | "optional" : 1, | |
013dc89f DM |
7277 | "type" : "string", |
7278 | "typetext" : "<string>" | |
44660702 DM |
7279 | }, |
7280 | "type" : { | |
e94f0d56 | 7281 | "description" : "Rule type.", |
44660702 DM |
7282 | "enum" : [ |
7283 | "in", | |
7284 | "out", | |
7285 | "group" | |
7286 | ], | |
56122987 | 7287 | "optional" : 1, |
56122987 | 7288 | "type" : "string" |
44660702 DM |
7289 | }, |
7290 | "vmid" : { | |
7291 | "description" : "The (unique) ID of the VM.", | |
7292 | "format" : "pve-vmid", | |
7293 | "minimum" : 1, | |
4bd7df8b | 7294 | "type" : "integer", |
013dc89f | 7295 | "typetext" : "<integer> (1 - N)" |
56122987 | 7296 | } |
44660702 | 7297 | } |
56122987 | 7298 | }, |
56122987 DM |
7299 | "permissions" : { |
7300 | "check" : [ | |
7301 | "perm", | |
7302 | "/vms/{vmid}", | |
7303 | [ | |
44660702 | 7304 | "VM.Config.Network" |
56122987 DM |
7305 | ] |
7306 | ] | |
7aacca6f | 7307 | }, |
44660702 | 7308 | "protected" : 1, |
7aacca6f | 7309 | "proxyto" : null, |
7aacca6f | 7310 | "returns" : { |
44660702 DM |
7311 | "type" : "null" |
7312 | } | |
56122987 | 7313 | } |
7aacca6f | 7314 | }, |
44660702 | 7315 | "leaf" : 1, |
7aacca6f | 7316 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}", |
44660702 | 7317 | "text" : "{pos}" |
56122987 DM |
7318 | } |
7319 | ], | |
56122987 | 7320 | "info" : { |
44660702 | 7321 | "GET" : { |
e9cd3bd4 | 7322 | "allowtoken" : 1, |
44660702 DM |
7323 | "description" : "List rules.", |
7324 | "method" : "GET", | |
7325 | "name" : "get_rules", | |
7326 | "parameters" : { | |
7327 | "additionalProperties" : 0, | |
7328 | "properties" : { | |
7329 | "node" : { | |
7330 | "description" : "The cluster node name.", | |
7331 | "format" : "pve-node", | |
013dc89f DM |
7332 | "type" : "string", |
7333 | "typetext" : "<string>" | |
44660702 DM |
7334 | }, |
7335 | "vmid" : { | |
7336 | "description" : "The (unique) ID of the VM.", | |
7337 | "format" : "pve-vmid", | |
7338 | "minimum" : 1, | |
4bd7df8b | 7339 | "type" : "integer", |
013dc89f | 7340 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
7341 | } |
7342 | } | |
56122987 | 7343 | }, |
56122987 DM |
7344 | "permissions" : { |
7345 | "check" : [ | |
7346 | "perm", | |
7347 | "/vms/{vmid}", | |
7348 | [ | |
44660702 | 7349 | "VM.Audit" |
56122987 DM |
7350 | ] |
7351 | ] | |
7aacca6f | 7352 | }, |
44660702 DM |
7353 | "proxyto" : null, |
7354 | "returns" : { | |
7355 | "items" : { | |
7356 | "properties" : { | |
7357 | "pos" : { | |
7358 | "type" : "integer" | |
7359 | } | |
7360 | }, | |
7361 | "type" : "object" | |
7362 | }, | |
7363 | "links" : [ | |
7364 | { | |
7365 | "href" : "{pos}", | |
7366 | "rel" : "child" | |
7367 | } | |
7368 | ], | |
7369 | "type" : "array" | |
7370 | } | |
7371 | }, | |
7372 | "POST" : { | |
e9cd3bd4 | 7373 | "allowtoken" : 1, |
44660702 | 7374 | "description" : "Create new rule.", |
7aacca6f | 7375 | "method" : "POST", |
44660702 | 7376 | "name" : "create_rule", |
56122987 | 7377 | "parameters" : { |
44660702 | 7378 | "additionalProperties" : 0, |
56122987 | 7379 | "properties" : { |
44660702 DM |
7380 | "action" : { |
7381 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
7382 | "maxLength" : 20, | |
7383 | "minLength" : 2, | |
7384 | "optional" : 0, | |
7385 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7386 | "type" : "string" | |
56122987 | 7387 | }, |
44660702 | 7388 | "comment" : { |
e94f0d56 | 7389 | "description" : "Descriptive comment.", |
56122987 | 7390 | "optional" : 1, |
013dc89f DM |
7391 | "type" : "string", |
7392 | "typetext" : "<string>" | |
56122987 | 7393 | }, |
44660702 DM |
7394 | "dest" : { |
7395 | "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.", | |
7396 | "format" : "pve-fw-addr-spec", | |
7397 | "optional" : 1, | |
013dc89f DM |
7398 | "type" : "string", |
7399 | "typetext" : "<string>" | |
56122987 | 7400 | }, |
44660702 DM |
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, | |
56122987 | 7404 | "optional" : 1, |
013dc89f DM |
7405 | "type" : "string", |
7406 | "typetext" : "<string>" | |
56122987 | 7407 | }, |
7aacca6f DM |
7408 | "dport" : { |
7409 | "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 | 7410 | "format" : "pve-fw-dport-spec", |
7aacca6f | 7411 | "optional" : 1, |
013dc89f DM |
7412 | "type" : "string", |
7413 | "typetext" : "<string>" | |
56122987 DM |
7414 | }, |
7415 | "enable" : { | |
e94f0d56 | 7416 | "description" : "Flag to enable/disable a rule.", |
56122987 | 7417 | "minimum" : 0, |
44660702 | 7418 | "optional" : 1, |
4bd7df8b | 7419 | "type" : "integer", |
013dc89f | 7420 | "typetext" : "<integer> (0 - N)" |
56122987 | 7421 | }, |
44660702 DM |
7422 | "iface" : { |
7423 | "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.", | |
7424 | "format" : "pve-iface", | |
7425 | "maxLength" : 20, | |
7aacca6f | 7426 | "minLength" : 2, |
44660702 | 7427 | "optional" : 1, |
013dc89f DM |
7428 | "type" : "string", |
7429 | "typetext" : "<string>" | |
56122987 | 7430 | }, |
95895385 TL |
7431 | "log" : { |
7432 | "description" : "Log level for firewall rule.", | |
7433 | "enum" : [ | |
7434 | "emerg", | |
7435 | "alert", | |
7436 | "crit", | |
7437 | "err", | |
7438 | "warning", | |
7439 | "notice", | |
7440 | "info", | |
7441 | "debug", | |
7442 | "nolog" | |
7443 | ], | |
7444 | "optional" : 1, | |
7445 | "type" : "string" | |
7446 | }, | |
44660702 | 7447 | "macro" : { |
e94f0d56 | 7448 | "description" : "Use predefined standard macro.", |
44660702 | 7449 | "maxLength" : 128, |
56122987 | 7450 | "optional" : 1, |
013dc89f DM |
7451 | "type" : "string", |
7452 | "typetext" : "<string>" | |
7aacca6f | 7453 | }, |
44660702 DM |
7454 | "node" : { |
7455 | "description" : "The cluster node name.", | |
7456 | "format" : "pve-node", | |
013dc89f DM |
7457 | "type" : "string", |
7458 | "typetext" : "<string>" | |
44660702 DM |
7459 | }, |
7460 | "pos" : { | |
7461 | "description" : "Update rule at position <pos>.", | |
7462 | "minimum" : 0, | |
7463 | "optional" : 1, | |
4bd7df8b | 7464 | "type" : "integer", |
013dc89f | 7465 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
7466 | }, |
7467 | "proto" : { | |
7468 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
7469 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 7470 | "optional" : 1, |
013dc89f DM |
7471 | "type" : "string", |
7472 | "typetext" : "<string>" | |
7aacca6f DM |
7473 | }, |
7474 | "source" : { | |
7475 | "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 | 7476 | "format" : "pve-fw-addr-spec", |
7aacca6f | 7477 | "optional" : 1, |
013dc89f DM |
7478 | "type" : "string", |
7479 | "typetext" : "<string>" | |
7aacca6f | 7480 | }, |
44660702 DM |
7481 | "sport" : { |
7482 | "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.", | |
7483 | "format" : "pve-fw-sport-spec", | |
7aacca6f | 7484 | "optional" : 1, |
013dc89f DM |
7485 | "type" : "string", |
7486 | "typetext" : "<string>" | |
7aacca6f | 7487 | }, |
44660702 | 7488 | "type" : { |
e94f0d56 | 7489 | "description" : "Rule type.", |
44660702 DM |
7490 | "enum" : [ |
7491 | "in", | |
7492 | "out", | |
7493 | "group" | |
7494 | ], | |
7495 | "optional" : 0, | |
7496 | "type" : "string" | |
7aacca6f | 7497 | }, |
7aacca6f | 7498 | "vmid" : { |
44660702 | 7499 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
7500 | "format" : "pve-vmid", |
7501 | "minimum" : 1, | |
4bd7df8b | 7502 | "type" : "integer", |
013dc89f | 7503 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
7504 | } |
7505 | } | |
7506 | }, | |
56122987 DM |
7507 | "permissions" : { |
7508 | "check" : [ | |
7509 | "perm", | |
7510 | "/vms/{vmid}", | |
7511 | [ | |
44660702 | 7512 | "VM.Config.Network" |
56122987 DM |
7513 | ] |
7514 | ] | |
7515 | }, | |
44660702 DM |
7516 | "protected" : 1, |
7517 | "proxyto" : null, | |
56122987 | 7518 | "returns" : { |
44660702 DM |
7519 | "type" : "null" |
7520 | } | |
56122987 DM |
7521 | } |
7522 | }, | |
44660702 | 7523 | "leaf" : 0, |
7aacca6f | 7524 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules", |
44660702 | 7525 | "text" : "rules" |
56122987 DM |
7526 | }, |
7527 | { | |
7528 | "children" : [ | |
7529 | { | |
56122987 | 7530 | "info" : { |
44660702 | 7531 | "DELETE" : { |
e9cd3bd4 | 7532 | "allowtoken" : 1, |
44660702 DM |
7533 | "description" : "Remove IP or Network alias.", |
7534 | "method" : "DELETE", | |
7535 | "name" : "remove_alias", | |
56122987 | 7536 | "parameters" : { |
44660702 | 7537 | "additionalProperties" : 0, |
56122987 | 7538 | "properties" : { |
44660702 DM |
7539 | "digest" : { |
7540 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
7541 | "maxLength" : 40, | |
7542 | "optional" : 1, | |
013dc89f DM |
7543 | "type" : "string", |
7544 | "typetext" : "<string>" | |
56122987 DM |
7545 | }, |
7546 | "name" : { | |
56122987 | 7547 | "description" : "Alias name.", |
44660702 | 7548 | "maxLength" : 64, |
7aacca6f | 7549 | "minLength" : 2, |
44660702 | 7550 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 DM |
7551 | "type" : "string" |
7552 | }, | |
7aacca6f | 7553 | "node" : { |
44660702 | 7554 | "description" : "The cluster node name.", |
7aacca6f | 7555 | "format" : "pve-node", |
013dc89f DM |
7556 | "type" : "string", |
7557 | "typetext" : "<string>" | |
44660702 DM |
7558 | }, |
7559 | "vmid" : { | |
7560 | "description" : "The (unique) ID of the VM.", | |
7561 | "format" : "pve-vmid", | |
7562 | "minimum" : 1, | |
4bd7df8b | 7563 | "type" : "integer", |
013dc89f | 7564 | "typetext" : "<integer> (1 - N)" |
56122987 | 7565 | } |
44660702 | 7566 | } |
56122987 | 7567 | }, |
7aacca6f DM |
7568 | "permissions" : { |
7569 | "check" : [ | |
7570 | "perm", | |
7571 | "/vms/{vmid}", | |
7572 | [ | |
7573 | "VM.Config.Network" | |
7574 | ] | |
7575 | ] | |
56122987 | 7576 | }, |
44660702 DM |
7577 | "protected" : 1, |
7578 | "returns" : { | |
7579 | "type" : "null" | |
7580 | } | |
7581 | }, | |
7582 | "GET" : { | |
e9cd3bd4 | 7583 | "allowtoken" : 1, |
44660702 DM |
7584 | "description" : "Read alias.", |
7585 | "method" : "GET", | |
7586 | "name" : "read_alias", | |
56122987 | 7587 | "parameters" : { |
44660702 | 7588 | "additionalProperties" : 0, |
56122987 | 7589 | "properties" : { |
56122987 | 7590 | "name" : { |
7aacca6f | 7591 | "description" : "Alias name.", |
44660702 | 7592 | "maxLength" : 64, |
56122987 | 7593 | "minLength" : 2, |
44660702 | 7594 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 | 7595 | "type" : "string" |
7aacca6f DM |
7596 | }, |
7597 | "node" : { | |
7598 | "description" : "The cluster node name.", | |
44660702 | 7599 | "format" : "pve-node", |
013dc89f DM |
7600 | "type" : "string", |
7601 | "typetext" : "<string>" | |
44660702 DM |
7602 | }, |
7603 | "vmid" : { | |
7604 | "description" : "The (unique) ID of the VM.", | |
7605 | "format" : "pve-vmid", | |
7606 | "minimum" : 1, | |
4bd7df8b | 7607 | "type" : "integer", |
013dc89f | 7608 | "typetext" : "<integer> (1 - N)" |
56122987 | 7609 | } |
44660702 | 7610 | } |
56122987 | 7611 | }, |
44660702 DM |
7612 | "permissions" : { |
7613 | "check" : [ | |
7614 | "perm", | |
7615 | "/vms/{vmid}", | |
7616 | [ | |
7617 | "VM.Audit" | |
7618 | ] | |
7619 | ] | |
56122987 | 7620 | }, |
44660702 DM |
7621 | "returns" : { |
7622 | "type" : "object" | |
7623 | } | |
7aacca6f | 7624 | }, |
44660702 | 7625 | "PUT" : { |
e9cd3bd4 | 7626 | "allowtoken" : 1, |
44660702 DM |
7627 | "description" : "Update IP or Network alias.", |
7628 | "method" : "PUT", | |
7629 | "name" : "update_alias", | |
56122987 DM |
7630 | "parameters" : { |
7631 | "additionalProperties" : 0, | |
7632 | "properties" : { | |
44660702 DM |
7633 | "cidr" : { |
7634 | "description" : "Network/IP specification in CIDR format.", | |
7635 | "format" : "IPorCIDR", | |
013dc89f DM |
7636 | "type" : "string", |
7637 | "typetext" : "<string>" | |
44660702 DM |
7638 | }, |
7639 | "comment" : { | |
7640 | "optional" : 1, | |
013dc89f DM |
7641 | "type" : "string", |
7642 | "typetext" : "<string>" | |
56122987 DM |
7643 | }, |
7644 | "digest" : { | |
44660702 | 7645 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
56122987 DM |
7646 | "maxLength" : 40, |
7647 | "optional" : 1, | |
013dc89f DM |
7648 | "type" : "string", |
7649 | "typetext" : "<string>" | |
56122987 | 7650 | }, |
7aacca6f | 7651 | "name" : { |
44660702 | 7652 | "description" : "Alias name.", |
56122987 DM |
7653 | "maxLength" : 64, |
7654 | "minLength" : 2, | |
7655 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 7656 | "type" : "string" |
7aacca6f DM |
7657 | }, |
7658 | "node" : { | |
7aacca6f | 7659 | "description" : "The cluster node name.", |
44660702 | 7660 | "format" : "pve-node", |
013dc89f DM |
7661 | "type" : "string", |
7662 | "typetext" : "<string>" | |
44660702 DM |
7663 | }, |
7664 | "rename" : { | |
7665 | "description" : "Rename an existing alias.", | |
7666 | "maxLength" : 64, | |
7667 | "minLength" : 2, | |
7668 | "optional" : 1, | |
7669 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7670 | "type" : "string" | |
7671 | }, | |
7672 | "vmid" : { | |
7673 | "description" : "The (unique) ID of the VM.", | |
7674 | "format" : "pve-vmid", | |
7675 | "minimum" : 1, | |
4bd7df8b | 7676 | "type" : "integer", |
013dc89f | 7677 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
7678 | } |
7679 | } | |
7680 | }, | |
7aacca6f DM |
7681 | "permissions" : { |
7682 | "check" : [ | |
7683 | "perm", | |
7684 | "/vms/{vmid}", | |
7685 | [ | |
7686 | "VM.Config.Network" | |
7687 | ] | |
7688 | ] | |
7689 | }, | |
7690 | "protected" : 1, | |
7aacca6f DM |
7691 | "returns" : { |
7692 | "type" : "null" | |
44660702 | 7693 | } |
56122987 DM |
7694 | } |
7695 | }, | |
44660702 | 7696 | "leaf" : 1, |
7aacca6f | 7697 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}", |
44660702 | 7698 | "text" : "{name}" |
56122987 DM |
7699 | } |
7700 | ], | |
7701 | "info" : { | |
44660702 | 7702 | "GET" : { |
e9cd3bd4 | 7703 | "allowtoken" : 1, |
44660702 DM |
7704 | "description" : "List aliases", |
7705 | "method" : "GET", | |
7706 | "name" : "get_aliases", | |
56122987 | 7707 | "parameters" : { |
44660702 | 7708 | "additionalProperties" : 0, |
56122987 | 7709 | "properties" : { |
7aacca6f | 7710 | "node" : { |
7aacca6f | 7711 | "description" : "The cluster node name.", |
44660702 | 7712 | "format" : "pve-node", |
013dc89f DM |
7713 | "type" : "string", |
7714 | "typetext" : "<string>" | |
56122987 | 7715 | }, |
44660702 DM |
7716 | "vmid" : { |
7717 | "description" : "The (unique) ID of the VM.", | |
7718 | "format" : "pve-vmid", | |
7719 | "minimum" : 1, | |
4bd7df8b | 7720 | "type" : "integer", |
013dc89f | 7721 | "typetext" : "<integer> (1 - N)" |
56122987 | 7722 | } |
44660702 | 7723 | } |
56122987 | 7724 | }, |
56122987 DM |
7725 | "permissions" : { |
7726 | "check" : [ | |
7727 | "perm", | |
7728 | "/vms/{vmid}", | |
7729 | [ | |
44660702 | 7730 | "VM.Audit" |
56122987 DM |
7731 | ] |
7732 | ] | |
7733 | }, | |
56122987 DM |
7734 | "returns" : { |
7735 | "items" : { | |
7736 | "properties" : { | |
44660702 | 7737 | "cidr" : { |
56122987 DM |
7738 | "type" : "string" |
7739 | }, | |
44660702 DM |
7740 | "comment" : { |
7741 | "optional" : 1, | |
7aacca6f | 7742 | "type" : "string" |
56122987 DM |
7743 | }, |
7744 | "digest" : { | |
56122987 | 7745 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 | 7746 | "maxLength" : 40, |
56122987 DM |
7747 | "optional" : 0, |
7748 | "type" : "string" | |
7749 | }, | |
44660702 | 7750 | "name" : { |
56122987 DM |
7751 | "type" : "string" |
7752 | } | |
44660702 DM |
7753 | }, |
7754 | "type" : "object" | |
56122987 | 7755 | }, |
56122987 DM |
7756 | "links" : [ |
7757 | { | |
7758 | "href" : "{name}", | |
7759 | "rel" : "child" | |
7760 | } | |
44660702 DM |
7761 | ], |
7762 | "type" : "array" | |
7763 | } | |
7764 | }, | |
7765 | "POST" : { | |
e9cd3bd4 | 7766 | "allowtoken" : 1, |
44660702 DM |
7767 | "description" : "Create IP or Network Alias.", |
7768 | "method" : "POST", | |
7769 | "name" : "create_alias", | |
56122987 | 7770 | "parameters" : { |
7aacca6f | 7771 | "additionalProperties" : 0, |
56122987 | 7772 | "properties" : { |
44660702 DM |
7773 | "cidr" : { |
7774 | "description" : "Network/IP specification in CIDR format.", | |
7775 | "format" : "IPorCIDR", | |
013dc89f DM |
7776 | "type" : "string", |
7777 | "typetext" : "<string>" | |
44660702 DM |
7778 | }, |
7779 | "comment" : { | |
7780 | "optional" : 1, | |
013dc89f DM |
7781 | "type" : "string", |
7782 | "typetext" : "<string>" | |
44660702 DM |
7783 | }, |
7784 | "name" : { | |
7785 | "description" : "Alias name.", | |
7786 | "maxLength" : 64, | |
7787 | "minLength" : 2, | |
7788 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7789 | "type" : "string" | |
56122987 DM |
7790 | }, |
7791 | "node" : { | |
7aacca6f | 7792 | "description" : "The cluster node name.", |
44660702 | 7793 | "format" : "pve-node", |
013dc89f DM |
7794 | "type" : "string", |
7795 | "typetext" : "<string>" | |
44660702 DM |
7796 | }, |
7797 | "vmid" : { | |
7798 | "description" : "The (unique) ID of the VM.", | |
7799 | "format" : "pve-vmid", | |
7800 | "minimum" : 1, | |
4bd7df8b | 7801 | "type" : "integer", |
013dc89f | 7802 | "typetext" : "<integer> (1 - N)" |
56122987 | 7803 | } |
7aacca6f | 7804 | } |
56122987 | 7805 | }, |
44660702 DM |
7806 | "permissions" : { |
7807 | "check" : [ | |
7808 | "perm", | |
7809 | "/vms/{vmid}", | |
7810 | [ | |
7811 | "VM.Config.Network" | |
7812 | ] | |
7813 | ] | |
7814 | }, | |
7815 | "protected" : 1, | |
7816 | "returns" : { | |
7817 | "type" : "null" | |
7818 | } | |
56122987 | 7819 | } |
44660702 DM |
7820 | }, |
7821 | "leaf" : 0, | |
7822 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases", | |
7823 | "text" : "aliases" | |
56122987 DM |
7824 | }, |
7825 | { | |
56122987 DM |
7826 | "children" : [ |
7827 | { | |
7aacca6f DM |
7828 | "children" : [ |
7829 | { | |
7830 | "info" : { | |
7831 | "DELETE" : { | |
e9cd3bd4 | 7832 | "allowtoken" : 1, |
44660702 | 7833 | "description" : "Remove IP or Network from IPSet.", |
7aacca6f | 7834 | "method" : "DELETE", |
44660702 | 7835 | "name" : "remove_ip", |
7aacca6f | 7836 | "parameters" : { |
44660702 | 7837 | "additionalProperties" : 0, |
7aacca6f | 7838 | "properties" : { |
44660702 DM |
7839 | "cidr" : { |
7840 | "description" : "Network/IP specification in CIDR format.", | |
7841 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
7842 | "type" : "string", |
7843 | "typetext" : "<string>" | |
44660702 DM |
7844 | }, |
7845 | "digest" : { | |
7846 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
7847 | "maxLength" : 40, | |
7848 | "optional" : 1, | |
013dc89f DM |
7849 | "type" : "string", |
7850 | "typetext" : "<string>" | |
44660702 | 7851 | }, |
7aacca6f | 7852 | "name" : { |
7aacca6f | 7853 | "description" : "IP set name.", |
44660702 DM |
7854 | "maxLength" : 64, |
7855 | "minLength" : 2, | |
7aacca6f | 7856 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 7857 | "type" : "string" |
7aacca6f DM |
7858 | }, |
7859 | "node" : { | |
7860 | "description" : "The cluster node name.", | |
44660702 | 7861 | "format" : "pve-node", |
013dc89f DM |
7862 | "type" : "string", |
7863 | "typetext" : "<string>" | |
7aacca6f DM |
7864 | }, |
7865 | "vmid" : { | |
44660702 | 7866 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 7867 | "format" : "pve-vmid", |
44660702 | 7868 | "minimum" : 1, |
4bd7df8b | 7869 | "type" : "integer", |
013dc89f | 7870 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 7871 | } |
44660702 | 7872 | } |
7aacca6f | 7873 | }, |
7aacca6f DM |
7874 | "permissions" : { |
7875 | "check" : [ | |
7876 | "perm", | |
7877 | "/vms/{vmid}", | |
7878 | [ | |
7879 | "VM.Config.Network" | |
7880 | ] | |
7881 | ] | |
7882 | }, | |
7883 | "protected" : 1, | |
44660702 DM |
7884 | "returns" : { |
7885 | "type" : "null" | |
7886 | } | |
56122987 | 7887 | }, |
44660702 | 7888 | "GET" : { |
e9cd3bd4 | 7889 | "allowtoken" : 1, |
44660702 DM |
7890 | "description" : "Read IP or Network settings from IPSet.", |
7891 | "method" : "GET", | |
7892 | "name" : "read_ip", | |
7aacca6f | 7893 | "parameters" : { |
44660702 | 7894 | "additionalProperties" : 0, |
7aacca6f | 7895 | "properties" : { |
7aacca6f | 7896 | "cidr" : { |
44660702 | 7897 | "description" : "Network/IP specification in CIDR format.", |
7aacca6f | 7898 | "format" : "IPorCIDRorAlias", |
013dc89f DM |
7899 | "type" : "string", |
7900 | "typetext" : "<string>" | |
7aacca6f DM |
7901 | }, |
7902 | "name" : { | |
7aacca6f | 7903 | "description" : "IP set name.", |
44660702 | 7904 | "maxLength" : 64, |
7aacca6f | 7905 | "minLength" : 2, |
44660702 DM |
7906 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7907 | "type" : "string" | |
7aacca6f | 7908 | }, |
44660702 DM |
7909 | "node" : { |
7910 | "description" : "The cluster node name.", | |
7911 | "format" : "pve-node", | |
013dc89f DM |
7912 | "type" : "string", |
7913 | "typetext" : "<string>" | |
7aacca6f | 7914 | }, |
44660702 DM |
7915 | "vmid" : { |
7916 | "description" : "The (unique) ID of the VM.", | |
7917 | "format" : "pve-vmid", | |
7918 | "minimum" : 1, | |
4bd7df8b | 7919 | "type" : "integer", |
013dc89f | 7920 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 7921 | } |
44660702 | 7922 | } |
7aacca6f | 7923 | }, |
44660702 DM |
7924 | "permissions" : { |
7925 | "check" : [ | |
7926 | "perm", | |
7927 | "/vms/{vmid}", | |
7928 | [ | |
7929 | "VM.Audit" | |
7930 | ] | |
7931 | ] | |
7932 | }, | |
7933 | "protected" : 1, | |
7aacca6f | 7934 | "returns" : { |
44660702 | 7935 | "type" : "object" |
7aacca6f | 7936 | } |
56122987 | 7937 | }, |
44660702 | 7938 | "PUT" : { |
e9cd3bd4 | 7939 | "allowtoken" : 1, |
44660702 DM |
7940 | "description" : "Update IP or Network settings", |
7941 | "method" : "PUT", | |
7942 | "name" : "update_ip", | |
7aacca6f DM |
7943 | "parameters" : { |
7944 | "additionalProperties" : 0, | |
7945 | "properties" : { | |
44660702 DM |
7946 | "cidr" : { |
7947 | "description" : "Network/IP specification in CIDR format.", | |
7948 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
7949 | "type" : "string", |
7950 | "typetext" : "<string>" | |
44660702 DM |
7951 | }, |
7952 | "comment" : { | |
7953 | "optional" : 1, | |
013dc89f DM |
7954 | "type" : "string", |
7955 | "typetext" : "<string>" | |
44660702 DM |
7956 | }, |
7957 | "digest" : { | |
7958 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
7959 | "maxLength" : 40, | |
7960 | "optional" : 1, | |
013dc89f DM |
7961 | "type" : "string", |
7962 | "typetext" : "<string>" | |
44660702 | 7963 | }, |
7aacca6f | 7964 | "name" : { |
7aacca6f | 7965 | "description" : "IP set name.", |
44660702 | 7966 | "maxLength" : 64, |
7aacca6f | 7967 | "minLength" : 2, |
44660702 DM |
7968 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7969 | "type" : "string" | |
7aacca6f DM |
7970 | }, |
7971 | "node" : { | |
7aacca6f | 7972 | "description" : "The cluster node name.", |
44660702 | 7973 | "format" : "pve-node", |
013dc89f DM |
7974 | "type" : "string", |
7975 | "typetext" : "<string>" | |
7aacca6f | 7976 | }, |
44660702 DM |
7977 | "nomatch" : { |
7978 | "optional" : 1, | |
013dc89f DM |
7979 | "type" : "boolean", |
7980 | "typetext" : "<boolean>" | |
7aacca6f DM |
7981 | }, |
7982 | "vmid" : { | |
7983 | "description" : "The (unique) ID of the VM.", | |
44660702 | 7984 | "format" : "pve-vmid", |
7aacca6f | 7985 | "minimum" : 1, |
4bd7df8b | 7986 | "type" : "integer", |
013dc89f | 7987 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
7988 | } |
7989 | } | |
7990 | }, | |
7991 | "permissions" : { | |
7992 | "check" : [ | |
7993 | "perm", | |
7994 | "/vms/{vmid}", | |
7995 | [ | |
44660702 | 7996 | "VM.Config.Network" |
7aacca6f DM |
7997 | ] |
7998 | ] | |
7999 | }, | |
7aacca6f | 8000 | "protected" : 1, |
7aacca6f | 8001 | "returns" : { |
44660702 | 8002 | "type" : "null" |
7aacca6f | 8003 | } |
56122987 | 8004 | } |
7aacca6f | 8005 | }, |
7aacca6f | 8006 | "leaf" : 1, |
44660702 DM |
8007 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}", |
8008 | "text" : "{cidr}" | |
7aacca6f | 8009 | } |
44660702 DM |
8010 | ], |
8011 | "info" : { | |
8012 | "DELETE" : { | |
e9cd3bd4 | 8013 | "allowtoken" : 1, |
44660702 DM |
8014 | "description" : "Delete IPSet", |
8015 | "method" : "DELETE", | |
8016 | "name" : "delete_ipset", | |
8017 | "parameters" : { | |
8018 | "additionalProperties" : 0, | |
8019 | "properties" : { | |
8020 | "name" : { | |
8021 | "description" : "IP set name.", | |
8022 | "maxLength" : 64, | |
8023 | "minLength" : 2, | |
8024 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8025 | "type" : "string" | |
8026 | }, | |
8027 | "node" : { | |
8028 | "description" : "The cluster node name.", | |
8029 | "format" : "pve-node", | |
013dc89f DM |
8030 | "type" : "string", |
8031 | "typetext" : "<string>" | |
44660702 DM |
8032 | }, |
8033 | "vmid" : { | |
8034 | "description" : "The (unique) ID of the VM.", | |
8035 | "format" : "pve-vmid", | |
8036 | "minimum" : 1, | |
4bd7df8b | 8037 | "type" : "integer", |
013dc89f | 8038 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8039 | } |
8040 | } | |
7aacca6f | 8041 | }, |
44660702 DM |
8042 | "permissions" : { |
8043 | "check" : [ | |
8044 | "perm", | |
8045 | "/vms/{vmid}", | |
8046 | [ | |
8047 | "VM.Config.Network" | |
8048 | ] | |
8049 | ] | |
7aacca6f | 8050 | }, |
44660702 DM |
8051 | "protected" : 1, |
8052 | "returns" : { | |
8053 | "type" : "null" | |
8054 | } | |
8055 | }, | |
8056 | "GET" : { | |
e9cd3bd4 | 8057 | "allowtoken" : 1, |
44660702 DM |
8058 | "description" : "List IPSet content", |
8059 | "method" : "GET", | |
8060 | "name" : "get_ipset", | |
8061 | "parameters" : { | |
8062 | "additionalProperties" : 0, | |
8063 | "properties" : { | |
8064 | "name" : { | |
8065 | "description" : "IP set name.", | |
8066 | "maxLength" : 64, | |
8067 | "minLength" : 2, | |
8068 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8069 | "type" : "string" | |
8070 | }, | |
8071 | "node" : { | |
8072 | "description" : "The cluster node name.", | |
8073 | "format" : "pve-node", | |
013dc89f DM |
8074 | "type" : "string", |
8075 | "typetext" : "<string>" | |
44660702 DM |
8076 | }, |
8077 | "vmid" : { | |
8078 | "description" : "The (unique) ID of the VM.", | |
8079 | "format" : "pve-vmid", | |
8080 | "minimum" : 1, | |
4bd7df8b | 8081 | "type" : "integer", |
013dc89f | 8082 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8083 | } |
8084 | } | |
7aacca6f | 8085 | }, |
44660702 DM |
8086 | "permissions" : { |
8087 | "check" : [ | |
8088 | "perm", | |
8089 | "/vms/{vmid}", | |
8090 | [ | |
8091 | "VM.Audit" | |
8092 | ] | |
8093 | ] | |
7aacca6f | 8094 | }, |
44660702 DM |
8095 | "returns" : { |
8096 | "items" : { | |
8097 | "properties" : { | |
8098 | "cidr" : { | |
8099 | "type" : "string" | |
8100 | }, | |
8101 | "comment" : { | |
8102 | "optional" : 1, | |
8103 | "type" : "string" | |
8104 | }, | |
8105 | "digest" : { | |
8106 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8107 | "maxLength" : 40, | |
8108 | "optional" : 0, | |
8109 | "type" : "string" | |
8110 | }, | |
8111 | "nomatch" : { | |
8112 | "optional" : 1, | |
8113 | "type" : "boolean" | |
8114 | } | |
8115 | }, | |
8116 | "type" : "object" | |
8117 | }, | |
8118 | "links" : [ | |
8119 | { | |
8120 | "href" : "{cidr}", | |
8121 | "rel" : "child" | |
8122 | } | |
8123 | ], | |
8124 | "type" : "array" | |
56122987 DM |
8125 | } |
8126 | }, | |
44660702 | 8127 | "POST" : { |
e9cd3bd4 | 8128 | "allowtoken" : 1, |
44660702 DM |
8129 | "description" : "Add IP or Network to IPSet.", |
8130 | "method" : "POST", | |
8131 | "name" : "create_ip", | |
8132 | "parameters" : { | |
8133 | "additionalProperties" : 0, | |
8134 | "properties" : { | |
8135 | "cidr" : { | |
8136 | "description" : "Network/IP specification in CIDR format.", | |
8137 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
8138 | "type" : "string", |
8139 | "typetext" : "<string>" | |
44660702 DM |
8140 | }, |
8141 | "comment" : { | |
8142 | "optional" : 1, | |
013dc89f DM |
8143 | "type" : "string", |
8144 | "typetext" : "<string>" | |
44660702 DM |
8145 | }, |
8146 | "name" : { | |
8147 | "description" : "IP set name.", | |
8148 | "maxLength" : 64, | |
8149 | "minLength" : 2, | |
8150 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8151 | "type" : "string" | |
8152 | }, | |
8153 | "node" : { | |
8154 | "description" : "The cluster node name.", | |
8155 | "format" : "pve-node", | |
013dc89f DM |
8156 | "type" : "string", |
8157 | "typetext" : "<string>" | |
44660702 DM |
8158 | }, |
8159 | "nomatch" : { | |
8160 | "optional" : 1, | |
013dc89f DM |
8161 | "type" : "boolean", |
8162 | "typetext" : "<boolean>" | |
44660702 DM |
8163 | }, |
8164 | "vmid" : { | |
8165 | "description" : "The (unique) ID of the VM.", | |
8166 | "format" : "pve-vmid", | |
8167 | "minimum" : 1, | |
4bd7df8b | 8168 | "type" : "integer", |
013dc89f | 8169 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8170 | } |
8171 | } | |
8172 | }, | |
8173 | "permissions" : { | |
8174 | "check" : [ | |
8175 | "perm", | |
8176 | "/vms/{vmid}", | |
8177 | [ | |
8178 | "VM.Config.Network" | |
8179 | ] | |
8180 | ] | |
8181 | }, | |
8182 | "protected" : 1, | |
8183 | "returns" : { | |
8184 | "type" : "null" | |
8185 | } | |
8186 | } | |
8187 | }, | |
8188 | "leaf" : 0, | |
8189 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}", | |
8190 | "text" : "{name}" | |
8191 | } | |
8192 | ], | |
8193 | "info" : { | |
8194 | "GET" : { | |
e9cd3bd4 | 8195 | "allowtoken" : 1, |
44660702 DM |
8196 | "description" : "List IPSets", |
8197 | "method" : "GET", | |
8198 | "name" : "ipset_index", | |
8199 | "parameters" : { | |
8200 | "additionalProperties" : 0, | |
8201 | "properties" : { | |
8202 | "node" : { | |
8203 | "description" : "The cluster node name.", | |
8204 | "format" : "pve-node", | |
013dc89f DM |
8205 | "type" : "string", |
8206 | "typetext" : "<string>" | |
44660702 DM |
8207 | }, |
8208 | "vmid" : { | |
8209 | "description" : "The (unique) ID of the VM.", | |
8210 | "format" : "pve-vmid", | |
8211 | "minimum" : 1, | |
4bd7df8b | 8212 | "type" : "integer", |
013dc89f | 8213 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8214 | } |
8215 | } | |
56122987 DM |
8216 | }, |
8217 | "permissions" : { | |
8218 | "check" : [ | |
8219 | "perm", | |
8220 | "/vms/{vmid}", | |
8221 | [ | |
44660702 | 8222 | "VM.Audit" |
56122987 DM |
8223 | ] |
8224 | ] | |
8225 | }, | |
7aacca6f | 8226 | "returns" : { |
7aacca6f DM |
8227 | "items" : { |
8228 | "properties" : { | |
7aacca6f DM |
8229 | "comment" : { |
8230 | "optional" : 1, | |
8231 | "type" : "string" | |
8232 | }, | |
8233 | "digest" : { | |
7aacca6f | 8234 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 DM |
8235 | "maxLength" : 40, |
8236 | "optional" : 0, | |
8237 | "type" : "string" | |
8238 | }, | |
8239 | "name" : { | |
8240 | "description" : "IP set name.", | |
8241 | "maxLength" : 64, | |
8242 | "minLength" : 2, | |
8243 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8244 | "type" : "string" | |
7aacca6f DM |
8245 | } |
8246 | }, | |
8247 | "type" : "object" | |
8248 | }, | |
8249 | "links" : [ | |
8250 | { | |
44660702 DM |
8251 | "href" : "{name}", |
8252 | "rel" : "child" | |
7aacca6f | 8253 | } |
44660702 DM |
8254 | ], |
8255 | "type" : "array" | |
8256 | } | |
8257 | }, | |
8258 | "POST" : { | |
e9cd3bd4 | 8259 | "allowtoken" : 1, |
44660702 DM |
8260 | "description" : "Create new IPSet", |
8261 | "method" : "POST", | |
8262 | "name" : "create_ipset", | |
56122987 DM |
8263 | "parameters" : { |
8264 | "additionalProperties" : 0, | |
8265 | "properties" : { | |
44660702 DM |
8266 | "comment" : { |
8267 | "optional" : 1, | |
013dc89f DM |
8268 | "type" : "string", |
8269 | "typetext" : "<string>" | |
56122987 | 8270 | }, |
44660702 DM |
8271 | "digest" : { |
8272 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8273 | "maxLength" : 40, | |
8274 | "optional" : 1, | |
013dc89f DM |
8275 | "type" : "string", |
8276 | "typetext" : "<string>" | |
44660702 DM |
8277 | }, |
8278 | "name" : { | |
8279 | "description" : "IP set name.", | |
8280 | "maxLength" : 64, | |
8281 | "minLength" : 2, | |
8282 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8283 | "type" : "string" | |
8284 | }, | |
8285 | "node" : { | |
8286 | "description" : "The cluster node name.", | |
8287 | "format" : "pve-node", | |
013dc89f DM |
8288 | "type" : "string", |
8289 | "typetext" : "<string>" | |
44660702 DM |
8290 | }, |
8291 | "rename" : { | |
8292 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
8293 | "maxLength" : 64, | |
8294 | "minLength" : 2, | |
8295 | "optional" : 1, | |
8296 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
8297 | "type" : "string" | |
8298 | }, | |
8299 | "vmid" : { | |
8300 | "description" : "The (unique) ID of the VM.", | |
8301 | "format" : "pve-vmid", | |
8302 | "minimum" : 1, | |
4bd7df8b | 8303 | "type" : "integer", |
013dc89f | 8304 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8305 | } |
8306 | } | |
8307 | }, | |
7aacca6f DM |
8308 | "permissions" : { |
8309 | "check" : [ | |
8310 | "perm", | |
8311 | "/vms/{vmid}", | |
8312 | [ | |
8313 | "VM.Config.Network" | |
8314 | ] | |
8315 | ] | |
8316 | }, | |
44660702 | 8317 | "protected" : 1, |
56122987 | 8318 | "returns" : { |
7aacca6f | 8319 | "type" : "null" |
44660702 DM |
8320 | } |
8321 | } | |
8322 | }, | |
8323 | "leaf" : 0, | |
8324 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset", | |
8325 | "text" : "ipset" | |
8326 | }, | |
8327 | { | |
8328 | "info" : { | |
8329 | "GET" : { | |
e9cd3bd4 | 8330 | "allowtoken" : 1, |
44660702 DM |
8331 | "description" : "Get VM firewall options.", |
8332 | "method" : "GET", | |
8333 | "name" : "get_options", | |
7aacca6f DM |
8334 | "parameters" : { |
8335 | "additionalProperties" : 0, | |
56122987 | 8336 | "properties" : { |
7aacca6f DM |
8337 | "node" : { |
8338 | "description" : "The cluster node name.", | |
44660702 | 8339 | "format" : "pve-node", |
013dc89f DM |
8340 | "type" : "string", |
8341 | "typetext" : "<string>" | |
7aacca6f | 8342 | }, |
44660702 DM |
8343 | "vmid" : { |
8344 | "description" : "The (unique) ID of the VM.", | |
8345 | "format" : "pve-vmid", | |
8346 | "minimum" : 1, | |
4bd7df8b | 8347 | "type" : "integer", |
013dc89f | 8348 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8349 | } |
8350 | } | |
8351 | }, | |
8352 | "permissions" : { | |
8353 | "check" : [ | |
8354 | "perm", | |
8355 | "/vms/{vmid}", | |
8356 | [ | |
8357 | "VM.Audit" | |
8358 | ] | |
8359 | ] | |
8360 | }, | |
8361 | "proxyto" : "node", | |
8362 | "returns" : { | |
8363 | "properties" : { | |
8364 | "dhcp" : { | |
5c1699e5 | 8365 | "default" : 0, |
44660702 | 8366 | "description" : "Enable DHCP.", |
56122987 | 8367 | "optional" : 1, |
44660702 | 8368 | "type" : "boolean" |
56122987 | 8369 | }, |
44660702 | 8370 | "enable" : { |
5c1699e5 | 8371 | "default" : 0, |
44660702 | 8372 | "description" : "Enable/disable firewall rules.", |
7aacca6f | 8373 | "optional" : 1, |
44660702 | 8374 | "type" : "boolean" |
56122987 | 8375 | }, |
44660702 DM |
8376 | "ipfilter" : { |
8377 | "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 | 8378 | "optional" : 1, |
44660702 | 8379 | "type" : "boolean" |
7aacca6f | 8380 | }, |
56122987 | 8381 | "log_level_in" : { |
7aacca6f | 8382 | "description" : "Log level for incoming traffic.", |
56122987 DM |
8383 | "enum" : [ |
8384 | "emerg", | |
8385 | "alert", | |
8386 | "crit", | |
8387 | "err", | |
8388 | "warning", | |
8389 | "notice", | |
8390 | "info", | |
8391 | "debug", | |
8392 | "nolog" | |
8393 | ], | |
56122987 DM |
8394 | "optional" : 1, |
8395 | "type" : "string" | |
8396 | }, | |
44660702 DM |
8397 | "log_level_out" : { |
8398 | "description" : "Log level for outgoing traffic.", | |
8399 | "enum" : [ | |
8400 | "emerg", | |
8401 | "alert", | |
8402 | "crit", | |
8403 | "err", | |
8404 | "warning", | |
8405 | "notice", | |
8406 | "info", | |
8407 | "debug", | |
8408 | "nolog" | |
8409 | ], | |
8410 | "optional" : 1, | |
8411 | "type" : "string" | |
8412 | }, | |
8413 | "macfilter" : { | |
5c1699e5 | 8414 | "default" : 0, |
44660702 | 8415 | "description" : "Enable/disable MAC address filter.", |
56122987 | 8416 | "optional" : 1, |
7aacca6f | 8417 | "type" : "boolean" |
56122987 DM |
8418 | }, |
8419 | "ndp" : { | |
5c1699e5 TL |
8420 | "default" : 0, |
8421 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
56122987 | 8422 | "optional" : 1, |
44660702 | 8423 | "type" : "boolean" |
56122987 DM |
8424 | }, |
8425 | "policy_in" : { | |
56122987 DM |
8426 | "description" : "Input policy.", |
8427 | "enum" : [ | |
8428 | "ACCEPT", | |
8429 | "REJECT", | |
8430 | "DROP" | |
44660702 DM |
8431 | ], |
8432 | "optional" : 1, | |
8433 | "type" : "string" | |
56122987 | 8434 | }, |
44660702 DM |
8435 | "policy_out" : { |
8436 | "description" : "Output policy.", | |
8437 | "enum" : [ | |
8438 | "ACCEPT", | |
8439 | "REJECT", | |
8440 | "DROP" | |
8441 | ], | |
8442 | "optional" : 1, | |
8443 | "type" : "string" | |
8444 | }, | |
8445 | "radv" : { | |
8446 | "description" : "Allow sending Router Advertisement.", | |
8447 | "optional" : 1, | |
8448 | "type" : "boolean" | |
8449 | } | |
8450 | }, | |
8451 | "type" : "object" | |
8452 | } | |
8453 | }, | |
8454 | "PUT" : { | |
e9cd3bd4 | 8455 | "allowtoken" : 1, |
44660702 DM |
8456 | "description" : "Set Firewall options.", |
8457 | "method" : "PUT", | |
8458 | "name" : "set_options", | |
8459 | "parameters" : { | |
8460 | "additionalProperties" : 0, | |
8461 | "properties" : { | |
8462 | "delete" : { | |
8463 | "description" : "A list of settings you want to delete.", | |
8464 | "format" : "pve-configid-list", | |
8465 | "optional" : 1, | |
013dc89f DM |
8466 | "type" : "string", |
8467 | "typetext" : "<string>" | |
44660702 DM |
8468 | }, |
8469 | "dhcp" : { | |
5c1699e5 | 8470 | "default" : 0, |
44660702 | 8471 | "description" : "Enable DHCP.", |
7aacca6f | 8472 | "optional" : 1, |
013dc89f DM |
8473 | "type" : "boolean", |
8474 | "typetext" : "<boolean>" | |
7aacca6f DM |
8475 | }, |
8476 | "digest" : { | |
8477 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 8478 | "maxLength" : 40, |
7aacca6f | 8479 | "optional" : 1, |
013dc89f DM |
8480 | "type" : "string", |
8481 | "typetext" : "<string>" | |
7aacca6f DM |
8482 | }, |
8483 | "enable" : { | |
5c1699e5 | 8484 | "default" : 0, |
7aacca6f | 8485 | "description" : "Enable/disable firewall rules.", |
56122987 | 8486 | "optional" : 1, |
013dc89f DM |
8487 | "type" : "boolean", |
8488 | "typetext" : "<boolean>" | |
7aacca6f | 8489 | }, |
44660702 DM |
8490 | "ipfilter" : { |
8491 | "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.", | |
8492 | "optional" : 1, | |
013dc89f DM |
8493 | "type" : "boolean", |
8494 | "typetext" : "<boolean>" | |
44660702 DM |
8495 | }, |
8496 | "log_level_in" : { | |
8497 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
8498 | "enum" : [ |
8499 | "emerg", | |
8500 | "alert", | |
8501 | "crit", | |
8502 | "err", | |
8503 | "warning", | |
8504 | "notice", | |
8505 | "info", | |
8506 | "debug", | |
8507 | "nolog" | |
7aacca6f | 8508 | ], |
7aacca6f | 8509 | "optional" : 1, |
44660702 | 8510 | "type" : "string" |
7aacca6f | 8511 | }, |
44660702 DM |
8512 | "log_level_out" : { |
8513 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
8514 | "enum" : [ |
8515 | "emerg", | |
8516 | "alert", | |
8517 | "crit", | |
8518 | "err", | |
8519 | "warning", | |
8520 | "notice", | |
8521 | "info", | |
8522 | "debug", | |
8523 | "nolog" | |
8524 | ], | |
56122987 | 8525 | "optional" : 1, |
44660702 | 8526 | "type" : "string" |
56122987 DM |
8527 | }, |
8528 | "macfilter" : { | |
5c1699e5 | 8529 | "default" : 0, |
56122987 | 8530 | "description" : "Enable/disable MAC address filter.", |
7aacca6f | 8531 | "optional" : 1, |
013dc89f DM |
8532 | "type" : "boolean", |
8533 | "typetext" : "<boolean>" | |
56122987 | 8534 | }, |
44660702 | 8535 | "ndp" : { |
5c1699e5 TL |
8536 | "default" : 0, |
8537 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
44660702 | 8538 | "optional" : 1, |
013dc89f DM |
8539 | "type" : "boolean", |
8540 | "typetext" : "<boolean>" | |
44660702 DM |
8541 | }, |
8542 | "node" : { | |
8543 | "description" : "The cluster node name.", | |
8544 | "format" : "pve-node", | |
013dc89f DM |
8545 | "type" : "string", |
8546 | "typetext" : "<string>" | |
44660702 | 8547 | }, |
56122987 | 8548 | "policy_in" : { |
44660702 | 8549 | "description" : "Input policy.", |
56122987 DM |
8550 | "enum" : [ |
8551 | "ACCEPT", | |
8552 | "REJECT", | |
8553 | "DROP" | |
7aacca6f | 8554 | ], |
56122987 | 8555 | "optional" : 1, |
7aacca6f | 8556 | "type" : "string" |
56122987 | 8557 | }, |
44660702 DM |
8558 | "policy_out" : { |
8559 | "description" : "Output policy.", | |
8560 | "enum" : [ | |
8561 | "ACCEPT", | |
8562 | "REJECT", | |
8563 | "DROP" | |
8564 | ], | |
56122987 | 8565 | "optional" : 1, |
44660702 | 8566 | "type" : "string" |
56122987 | 8567 | }, |
44660702 DM |
8568 | "radv" : { |
8569 | "description" : "Allow sending Router Advertisement.", | |
56122987 | 8570 | "optional" : 1, |
013dc89f DM |
8571 | "type" : "boolean", |
8572 | "typetext" : "<boolean>" | |
7aacca6f DM |
8573 | }, |
8574 | "vmid" : { | |
8575 | "description" : "The (unique) ID of the VM.", | |
44660702 | 8576 | "format" : "pve-vmid", |
7aacca6f | 8577 | "minimum" : 1, |
4bd7df8b | 8578 | "type" : "integer", |
013dc89f | 8579 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
8580 | } |
8581 | } | |
8582 | }, | |
56122987 DM |
8583 | "permissions" : { |
8584 | "check" : [ | |
8585 | "perm", | |
8586 | "/vms/{vmid}", | |
8587 | [ | |
44660702 | 8588 | "VM.Config.Network" |
56122987 DM |
8589 | ] |
8590 | ] | |
7aacca6f | 8591 | }, |
44660702 | 8592 | "protected" : 1, |
7aacca6f | 8593 | "proxyto" : "node", |
44660702 DM |
8594 | "returns" : { |
8595 | "type" : "null" | |
8596 | } | |
56122987 DM |
8597 | } |
8598 | }, | |
44660702 | 8599 | "leaf" : 1, |
7aacca6f | 8600 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/options", |
44660702 | 8601 | "text" : "options" |
56122987 DM |
8602 | }, |
8603 | { | |
56122987 DM |
8604 | "info" : { |
8605 | "GET" : { | |
e9cd3bd4 | 8606 | "allowtoken" : 1, |
44660702 DM |
8607 | "description" : "Read firewall log", |
8608 | "method" : "GET", | |
8609 | "name" : "log", | |
8610 | "parameters" : { | |
8611 | "additionalProperties" : 0, | |
8612 | "properties" : { | |
8613 | "limit" : { | |
8614 | "minimum" : 0, | |
8615 | "optional" : 1, | |
4bd7df8b | 8616 | "type" : "integer", |
013dc89f | 8617 | "typetext" : "<integer> (0 - N)" |
56122987 | 8618 | }, |
44660702 DM |
8619 | "node" : { |
8620 | "description" : "The cluster node name.", | |
8621 | "format" : "pve-node", | |
013dc89f DM |
8622 | "type" : "string", |
8623 | "typetext" : "<string>" | |
44660702 DM |
8624 | }, |
8625 | "start" : { | |
8626 | "minimum" : 0, | |
8627 | "optional" : 1, | |
4bd7df8b | 8628 | "type" : "integer", |
013dc89f | 8629 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
8630 | }, |
8631 | "vmid" : { | |
8632 | "description" : "The (unique) ID of the VM.", | |
8633 | "format" : "pve-vmid", | |
8634 | "minimum" : 1, | |
4bd7df8b | 8635 | "type" : "integer", |
013dc89f | 8636 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
8637 | } |
8638 | } | |
7aacca6f | 8639 | }, |
7aacca6f DM |
8640 | "permissions" : { |
8641 | "check" : [ | |
8642 | "perm", | |
8643 | "/vms/{vmid}", | |
8644 | [ | |
8645 | "VM.Console" | |
8646 | ] | |
8647 | ] | |
56122987 | 8648 | }, |
7aacca6f | 8649 | "protected" : 1, |
44660702 DM |
8650 | "proxyto" : "node", |
8651 | "returns" : { | |
8652 | "items" : { | |
8653 | "properties" : { | |
8654 | "n" : { | |
8655 | "description" : "Line number", | |
8656 | "type" : "integer" | |
8657 | }, | |
8658 | "t" : { | |
8659 | "description" : "Line text", | |
8660 | "type" : "string" | |
8661 | } | |
56122987 | 8662 | }, |
44660702 | 8663 | "type" : "object" |
7aacca6f | 8664 | }, |
44660702 | 8665 | "type" : "array" |
7aacca6f DM |
8666 | } |
8667 | } | |
8668 | }, | |
44660702 | 8669 | "leaf" : 1, |
7aacca6f | 8670 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/log", |
44660702 | 8671 | "text" : "log" |
7aacca6f DM |
8672 | }, |
8673 | { | |
7aacca6f DM |
8674 | "info" : { |
8675 | "GET" : { | |
e9cd3bd4 | 8676 | "allowtoken" : 1, |
7aacca6f | 8677 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", |
44660702 DM |
8678 | "method" : "GET", |
8679 | "name" : "refs", | |
56122987 | 8680 | "parameters" : { |
44660702 | 8681 | "additionalProperties" : 0, |
56122987 DM |
8682 | "properties" : { |
8683 | "node" : { | |
7aacca6f | 8684 | "description" : "The cluster node name.", |
44660702 | 8685 | "format" : "pve-node", |
013dc89f DM |
8686 | "type" : "string", |
8687 | "typetext" : "<string>" | |
56122987 DM |
8688 | }, |
8689 | "type" : { | |
56122987 DM |
8690 | "description" : "Only list references of specified type.", |
8691 | "enum" : [ | |
8692 | "alias", | |
8693 | "ipset" | |
7aacca6f | 8694 | ], |
44660702 DM |
8695 | "optional" : 1, |
8696 | "type" : "string" | |
8697 | }, | |
8698 | "vmid" : { | |
8699 | "description" : "The (unique) ID of the VM.", | |
8700 | "format" : "pve-vmid", | |
8701 | "minimum" : 1, | |
4bd7df8b | 8702 | "type" : "integer", |
013dc89f | 8703 | "typetext" : "<integer> (1 - N)" |
56122987 | 8704 | } |
44660702 DM |
8705 | } |
8706 | }, | |
8707 | "permissions" : { | |
8708 | "check" : [ | |
8709 | "perm", | |
8710 | "/vms/{vmid}", | |
8711 | [ | |
8712 | "VM.Audit" | |
8713 | ] | |
8714 | ] | |
56122987 DM |
8715 | }, |
8716 | "returns" : { | |
56122987 DM |
8717 | "items" : { |
8718 | "properties" : { | |
44660702 DM |
8719 | "comment" : { |
8720 | "optional" : 1, | |
56122987 DM |
8721 | "type" : "string" |
8722 | }, | |
8723 | "name" : { | |
8724 | "type" : "string" | |
8725 | }, | |
44660702 DM |
8726 | "type" : { |
8727 | "enum" : [ | |
8728 | "alias", | |
8729 | "ipset" | |
8730 | ], | |
7aacca6f | 8731 | "type" : "string" |
56122987 DM |
8732 | } |
8733 | }, | |
8734 | "type" : "object" | |
7aacca6f DM |
8735 | }, |
8736 | "type" : "array" | |
8737 | } | |
56122987 | 8738 | } |
44660702 DM |
8739 | }, |
8740 | "leaf" : 1, | |
8741 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs", | |
8742 | "text" : "refs" | |
56122987 DM |
8743 | } |
8744 | ], | |
56122987 DM |
8745 | "info" : { |
8746 | "GET" : { | |
e9cd3bd4 | 8747 | "allowtoken" : 1, |
44660702 | 8748 | "description" : "Directory index.", |
56122987 | 8749 | "method" : "GET", |
44660702 | 8750 | "name" : "index", |
56122987 | 8751 | "parameters" : { |
44660702 | 8752 | "additionalProperties" : 0, |
56122987 DM |
8753 | "properties" : { |
8754 | "node" : { | |
8755 | "description" : "The cluster node name.", | |
44660702 | 8756 | "format" : "pve-node", |
013dc89f DM |
8757 | "type" : "string", |
8758 | "typetext" : "<string>" | |
56122987 DM |
8759 | }, |
8760 | "vmid" : { | |
44660702 | 8761 | "description" : "The (unique) ID of the VM.", |
56122987 DM |
8762 | "format" : "pve-vmid", |
8763 | "minimum" : 1, | |
4bd7df8b | 8764 | "type" : "integer", |
013dc89f | 8765 | "typetext" : "<integer> (1 - N)" |
56122987 | 8766 | } |
44660702 | 8767 | } |
56122987 | 8768 | }, |
56122987 | 8769 | "permissions" : { |
27a7acb2 DM |
8770 | "user" : "all" |
8771 | }, | |
8772 | "returns" : { | |
8773 | "items" : { | |
8774 | "properties" : {}, | |
8775 | "type" : "object" | |
8776 | }, | |
8777 | "links" : [ | |
8778 | { | |
8779 | "href" : "{name}", | |
8780 | "rel" : "child" | |
8781 | } | |
8782 | ], | |
8783 | "type" : "array" | |
8784 | } | |
8785 | } | |
8786 | }, | |
8787 | "leaf" : 0, | |
8788 | "path" : "/nodes/{node}/qemu/{vmid}/firewall", | |
8789 | "text" : "firewall" | |
8790 | }, | |
8791 | { | |
8792 | "children" : [ | |
8793 | { | |
8794 | "info" : { | |
8795 | "POST" : { | |
e9cd3bd4 | 8796 | "allowtoken" : 1, |
27a7acb2 DM |
8797 | "description" : "Execute fsfreeze-freeze.", |
8798 | "method" : "POST", | |
8799 | "name" : "fsfreeze-freeze", | |
8800 | "parameters" : { | |
8801 | "additionalProperties" : 0, | |
8802 | "properties" : { | |
8803 | "node" : { | |
8804 | "description" : "The cluster node name.", | |
8805 | "format" : "pve-node", | |
8806 | "type" : "string", | |
8807 | "typetext" : "<string>" | |
8808 | }, | |
8809 | "vmid" : { | |
8810 | "description" : "The (unique) ID of the VM.", | |
8811 | "format" : "pve-vmid", | |
8812 | "minimum" : 1, | |
8813 | "type" : "integer", | |
8814 | "typetext" : "<integer> (1 - N)" | |
8815 | } | |
8816 | } | |
8817 | }, | |
8818 | "permissions" : { | |
8819 | "check" : [ | |
8820 | "perm", | |
8821 | "/vms/{vmid}", | |
8822 | [ | |
8823 | "VM.Monitor" | |
8824 | ] | |
8825 | ] | |
8826 | }, | |
8827 | "protected" : 1, | |
8828 | "proxyto" : "node", | |
8829 | "returns" : { | |
8830 | "description" : "Returns an object with a single `result` property.", | |
8831 | "type" : "object" | |
8832 | } | |
8833 | } | |
8834 | }, | |
8835 | "leaf" : 1, | |
8836 | "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze", | |
8837 | "text" : "fsfreeze-freeze" | |
8838 | }, | |
8839 | { | |
8840 | "info" : { | |
8841 | "POST" : { | |
e9cd3bd4 | 8842 | "allowtoken" : 1, |
27a7acb2 DM |
8843 | "description" : "Execute fsfreeze-status.", |
8844 | "method" : "POST", | |
8845 | "name" : "fsfreeze-status", | |
8846 | "parameters" : { | |
8847 | "additionalProperties" : 0, | |
8848 | "properties" : { | |
8849 | "node" : { | |
8850 | "description" : "The cluster node name.", | |
8851 | "format" : "pve-node", | |
8852 | "type" : "string", | |
8853 | "typetext" : "<string>" | |
8854 | }, | |
8855 | "vmid" : { | |
8856 | "description" : "The (unique) ID of the VM.", | |
8857 | "format" : "pve-vmid", | |
8858 | "minimum" : 1, | |
8859 | "type" : "integer", | |
8860 | "typetext" : "<integer> (1 - N)" | |
8861 | } | |
8862 | } | |
8863 | }, | |
8864 | "permissions" : { | |
8865 | "check" : [ | |
8866 | "perm", | |
8867 | "/vms/{vmid}", | |
8868 | [ | |
8869 | "VM.Monitor" | |
8870 | ] | |
8871 | ] | |
8872 | }, | |
8873 | "protected" : 1, | |
8874 | "proxyto" : "node", | |
8875 | "returns" : { | |
8876 | "description" : "Returns an object with a single `result` property.", | |
8877 | "type" : "object" | |
8878 | } | |
8879 | } | |
8880 | }, | |
8881 | "leaf" : 1, | |
8882 | "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status", | |
8883 | "text" : "fsfreeze-status" | |
8884 | }, | |
8885 | { | |
8886 | "info" : { | |
8887 | "POST" : { | |
e9cd3bd4 | 8888 | "allowtoken" : 1, |
27a7acb2 DM |
8889 | "description" : "Execute fsfreeze-thaw.", |
8890 | "method" : "POST", | |
8891 | "name" : "fsfreeze-thaw", | |
8892 | "parameters" : { | |
8893 | "additionalProperties" : 0, | |
8894 | "properties" : { | |
8895 | "node" : { | |
8896 | "description" : "The cluster node name.", | |
8897 | "format" : "pve-node", | |
8898 | "type" : "string", | |
8899 | "typetext" : "<string>" | |
8900 | }, | |
8901 | "vmid" : { | |
8902 | "description" : "The (unique) ID of the VM.", | |
8903 | "format" : "pve-vmid", | |
8904 | "minimum" : 1, | |
8905 | "type" : "integer", | |
8906 | "typetext" : "<integer> (1 - N)" | |
8907 | } | |
8908 | } | |
8909 | }, | |
8910 | "permissions" : { | |
8911 | "check" : [ | |
8912 | "perm", | |
8913 | "/vms/{vmid}", | |
8914 | [ | |
8915 | "VM.Monitor" | |
8916 | ] | |
8917 | ] | |
8918 | }, | |
8919 | "protected" : 1, | |
8920 | "proxyto" : "node", | |
8921 | "returns" : { | |
8922 | "description" : "Returns an object with a single `result` property.", | |
8923 | "type" : "object" | |
8924 | } | |
8925 | } | |
8926 | }, | |
8927 | "leaf" : 1, | |
8928 | "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw", | |
8929 | "text" : "fsfreeze-thaw" | |
8930 | }, | |
8931 | { | |
8932 | "info" : { | |
8933 | "POST" : { | |
e9cd3bd4 | 8934 | "allowtoken" : 1, |
27a7acb2 DM |
8935 | "description" : "Execute fstrim.", |
8936 | "method" : "POST", | |
8937 | "name" : "fstrim", | |
8938 | "parameters" : { | |
8939 | "additionalProperties" : 0, | |
8940 | "properties" : { | |
8941 | "node" : { | |
8942 | "description" : "The cluster node name.", | |
8943 | "format" : "pve-node", | |
8944 | "type" : "string", | |
8945 | "typetext" : "<string>" | |
8946 | }, | |
8947 | "vmid" : { | |
8948 | "description" : "The (unique) ID of the VM.", | |
8949 | "format" : "pve-vmid", | |
8950 | "minimum" : 1, | |
8951 | "type" : "integer", | |
8952 | "typetext" : "<integer> (1 - N)" | |
8953 | } | |
8954 | } | |
8955 | }, | |
8956 | "permissions" : { | |
8957 | "check" : [ | |
8958 | "perm", | |
8959 | "/vms/{vmid}", | |
8960 | [ | |
8961 | "VM.Monitor" | |
8962 | ] | |
8963 | ] | |
8964 | }, | |
8965 | "protected" : 1, | |
8966 | "proxyto" : "node", | |
8967 | "returns" : { | |
8968 | "description" : "Returns an object with a single `result` property.", | |
8969 | "type" : "object" | |
8970 | } | |
8971 | } | |
8972 | }, | |
8973 | "leaf" : 1, | |
8974 | "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim", | |
8975 | "text" : "fstrim" | |
8976 | }, | |
8977 | { | |
8978 | "info" : { | |
8979 | "GET" : { | |
e9cd3bd4 | 8980 | "allowtoken" : 1, |
27a7acb2 DM |
8981 | "description" : "Execute get-fsinfo.", |
8982 | "method" : "GET", | |
8983 | "name" : "get-fsinfo", | |
8984 | "parameters" : { | |
8985 | "additionalProperties" : 0, | |
8986 | "properties" : { | |
8987 | "node" : { | |
8988 | "description" : "The cluster node name.", | |
8989 | "format" : "pve-node", | |
8990 | "type" : "string", | |
8991 | "typetext" : "<string>" | |
8992 | }, | |
8993 | "vmid" : { | |
8994 | "description" : "The (unique) ID of the VM.", | |
8995 | "format" : "pve-vmid", | |
8996 | "minimum" : 1, | |
8997 | "type" : "integer", | |
8998 | "typetext" : "<integer> (1 - N)" | |
8999 | } | |
9000 | } | |
9001 | }, | |
9002 | "permissions" : { | |
9003 | "check" : [ | |
9004 | "perm", | |
9005 | "/vms/{vmid}", | |
9006 | [ | |
9007 | "VM.Monitor" | |
9008 | ] | |
9009 | ] | |
9010 | }, | |
9011 | "protected" : 1, | |
9012 | "proxyto" : "node", | |
9013 | "returns" : { | |
9014 | "description" : "Returns an object with a single `result` property.", | |
9015 | "type" : "object" | |
9016 | } | |
9017 | } | |
9018 | }, | |
9019 | "leaf" : 1, | |
9020 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo", | |
9021 | "text" : "get-fsinfo" | |
9022 | }, | |
9023 | { | |
9024 | "info" : { | |
9025 | "GET" : { | |
e9cd3bd4 | 9026 | "allowtoken" : 1, |
27a7acb2 DM |
9027 | "description" : "Execute get-host-name.", |
9028 | "method" : "GET", | |
9029 | "name" : "get-host-name", | |
9030 | "parameters" : { | |
9031 | "additionalProperties" : 0, | |
9032 | "properties" : { | |
9033 | "node" : { | |
9034 | "description" : "The cluster node name.", | |
9035 | "format" : "pve-node", | |
9036 | "type" : "string", | |
9037 | "typetext" : "<string>" | |
9038 | }, | |
9039 | "vmid" : { | |
9040 | "description" : "The (unique) ID of the VM.", | |
9041 | "format" : "pve-vmid", | |
9042 | "minimum" : 1, | |
9043 | "type" : "integer", | |
9044 | "typetext" : "<integer> (1 - N)" | |
9045 | } | |
9046 | } | |
9047 | }, | |
9048 | "permissions" : { | |
9049 | "check" : [ | |
9050 | "perm", | |
9051 | "/vms/{vmid}", | |
9052 | [ | |
9053 | "VM.Monitor" | |
9054 | ] | |
9055 | ] | |
9056 | }, | |
9057 | "protected" : 1, | |
9058 | "proxyto" : "node", | |
9059 | "returns" : { | |
9060 | "description" : "Returns an object with a single `result` property.", | |
9061 | "type" : "object" | |
9062 | } | |
9063 | } | |
9064 | }, | |
9065 | "leaf" : 1, | |
9066 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name", | |
9067 | "text" : "get-host-name" | |
9068 | }, | |
9069 | { | |
9070 | "info" : { | |
9071 | "GET" : { | |
e9cd3bd4 | 9072 | "allowtoken" : 1, |
27a7acb2 DM |
9073 | "description" : "Execute get-memory-block-info.", |
9074 | "method" : "GET", | |
9075 | "name" : "get-memory-block-info", | |
9076 | "parameters" : { | |
9077 | "additionalProperties" : 0, | |
9078 | "properties" : { | |
9079 | "node" : { | |
9080 | "description" : "The cluster node name.", | |
9081 | "format" : "pve-node", | |
9082 | "type" : "string", | |
9083 | "typetext" : "<string>" | |
9084 | }, | |
9085 | "vmid" : { | |
9086 | "description" : "The (unique) ID of the VM.", | |
9087 | "format" : "pve-vmid", | |
9088 | "minimum" : 1, | |
9089 | "type" : "integer", | |
9090 | "typetext" : "<integer> (1 - N)" | |
9091 | } | |
9092 | } | |
9093 | }, | |
9094 | "permissions" : { | |
9095 | "check" : [ | |
9096 | "perm", | |
9097 | "/vms/{vmid}", | |
9098 | [ | |
9099 | "VM.Monitor" | |
9100 | ] | |
9101 | ] | |
9102 | }, | |
9103 | "protected" : 1, | |
9104 | "proxyto" : "node", | |
9105 | "returns" : { | |
9106 | "description" : "Returns an object with a single `result` property.", | |
9107 | "type" : "object" | |
9108 | } | |
9109 | } | |
9110 | }, | |
9111 | "leaf" : 1, | |
9112 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info", | |
9113 | "text" : "get-memory-block-info" | |
9114 | }, | |
9115 | { | |
9116 | "info" : { | |
9117 | "GET" : { | |
e9cd3bd4 | 9118 | "allowtoken" : 1, |
27a7acb2 DM |
9119 | "description" : "Execute get-memory-blocks.", |
9120 | "method" : "GET", | |
9121 | "name" : "get-memory-blocks", | |
9122 | "parameters" : { | |
9123 | "additionalProperties" : 0, | |
9124 | "properties" : { | |
9125 | "node" : { | |
9126 | "description" : "The cluster node name.", | |
9127 | "format" : "pve-node", | |
9128 | "type" : "string", | |
9129 | "typetext" : "<string>" | |
9130 | }, | |
9131 | "vmid" : { | |
9132 | "description" : "The (unique) ID of the VM.", | |
9133 | "format" : "pve-vmid", | |
9134 | "minimum" : 1, | |
9135 | "type" : "integer", | |
9136 | "typetext" : "<integer> (1 - N)" | |
9137 | } | |
9138 | } | |
9139 | }, | |
9140 | "permissions" : { | |
9141 | "check" : [ | |
9142 | "perm", | |
9143 | "/vms/{vmid}", | |
9144 | [ | |
9145 | "VM.Monitor" | |
9146 | ] | |
9147 | ] | |
9148 | }, | |
9149 | "protected" : 1, | |
9150 | "proxyto" : "node", | |
9151 | "returns" : { | |
9152 | "description" : "Returns an object with a single `result` property.", | |
9153 | "type" : "object" | |
9154 | } | |
9155 | } | |
9156 | }, | |
9157 | "leaf" : 1, | |
9158 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks", | |
9159 | "text" : "get-memory-blocks" | |
9160 | }, | |
9161 | { | |
9162 | "info" : { | |
9163 | "GET" : { | |
e9cd3bd4 | 9164 | "allowtoken" : 1, |
27a7acb2 DM |
9165 | "description" : "Execute get-osinfo.", |
9166 | "method" : "GET", | |
9167 | "name" : "get-osinfo", | |
9168 | "parameters" : { | |
9169 | "additionalProperties" : 0, | |
9170 | "properties" : { | |
9171 | "node" : { | |
9172 | "description" : "The cluster node name.", | |
9173 | "format" : "pve-node", | |
9174 | "type" : "string", | |
9175 | "typetext" : "<string>" | |
9176 | }, | |
9177 | "vmid" : { | |
9178 | "description" : "The (unique) ID of the VM.", | |
9179 | "format" : "pve-vmid", | |
9180 | "minimum" : 1, | |
9181 | "type" : "integer", | |
9182 | "typetext" : "<integer> (1 - N)" | |
9183 | } | |
9184 | } | |
9185 | }, | |
9186 | "permissions" : { | |
9187 | "check" : [ | |
9188 | "perm", | |
9189 | "/vms/{vmid}", | |
9190 | [ | |
9191 | "VM.Monitor" | |
9192 | ] | |
9193 | ] | |
9194 | }, | |
9195 | "protected" : 1, | |
9196 | "proxyto" : "node", | |
9197 | "returns" : { | |
9198 | "description" : "Returns an object with a single `result` property.", | |
9199 | "type" : "object" | |
9200 | } | |
9201 | } | |
9202 | }, | |
9203 | "leaf" : 1, | |
9204 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo", | |
9205 | "text" : "get-osinfo" | |
9206 | }, | |
9207 | { | |
9208 | "info" : { | |
9209 | "GET" : { | |
e9cd3bd4 | 9210 | "allowtoken" : 1, |
27a7acb2 DM |
9211 | "description" : "Execute get-time.", |
9212 | "method" : "GET", | |
9213 | "name" : "get-time", | |
9214 | "parameters" : { | |
9215 | "additionalProperties" : 0, | |
9216 | "properties" : { | |
9217 | "node" : { | |
9218 | "description" : "The cluster node name.", | |
9219 | "format" : "pve-node", | |
9220 | "type" : "string", | |
9221 | "typetext" : "<string>" | |
9222 | }, | |
9223 | "vmid" : { | |
9224 | "description" : "The (unique) ID of the VM.", | |
9225 | "format" : "pve-vmid", | |
9226 | "minimum" : 1, | |
9227 | "type" : "integer", | |
9228 | "typetext" : "<integer> (1 - N)" | |
9229 | } | |
9230 | } | |
9231 | }, | |
9232 | "permissions" : { | |
9233 | "check" : [ | |
9234 | "perm", | |
9235 | "/vms/{vmid}", | |
9236 | [ | |
9237 | "VM.Monitor" | |
9238 | ] | |
9239 | ] | |
9240 | }, | |
9241 | "protected" : 1, | |
9242 | "proxyto" : "node", | |
9243 | "returns" : { | |
9244 | "description" : "Returns an object with a single `result` property.", | |
9245 | "type" : "object" | |
9246 | } | |
9247 | } | |
9248 | }, | |
9249 | "leaf" : 1, | |
9250 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time", | |
9251 | "text" : "get-time" | |
9252 | }, | |
9253 | { | |
9254 | "info" : { | |
9255 | "GET" : { | |
e9cd3bd4 | 9256 | "allowtoken" : 1, |
27a7acb2 DM |
9257 | "description" : "Execute get-timezone.", |
9258 | "method" : "GET", | |
9259 | "name" : "get-timezone", | |
9260 | "parameters" : { | |
9261 | "additionalProperties" : 0, | |
9262 | "properties" : { | |
9263 | "node" : { | |
9264 | "description" : "The cluster node name.", | |
9265 | "format" : "pve-node", | |
9266 | "type" : "string", | |
9267 | "typetext" : "<string>" | |
9268 | }, | |
9269 | "vmid" : { | |
9270 | "description" : "The (unique) ID of the VM.", | |
9271 | "format" : "pve-vmid", | |
9272 | "minimum" : 1, | |
9273 | "type" : "integer", | |
9274 | "typetext" : "<integer> (1 - N)" | |
9275 | } | |
9276 | } | |
9277 | }, | |
9278 | "permissions" : { | |
9279 | "check" : [ | |
9280 | "perm", | |
9281 | "/vms/{vmid}", | |
9282 | [ | |
9283 | "VM.Monitor" | |
9284 | ] | |
9285 | ] | |
9286 | }, | |
9287 | "protected" : 1, | |
9288 | "proxyto" : "node", | |
9289 | "returns" : { | |
9290 | "description" : "Returns an object with a single `result` property.", | |
9291 | "type" : "object" | |
9292 | } | |
9293 | } | |
9294 | }, | |
9295 | "leaf" : 1, | |
9296 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone", | |
9297 | "text" : "get-timezone" | |
9298 | }, | |
9299 | { | |
9300 | "info" : { | |
9301 | "GET" : { | |
e9cd3bd4 | 9302 | "allowtoken" : 1, |
27a7acb2 DM |
9303 | "description" : "Execute get-users.", |
9304 | "method" : "GET", | |
9305 | "name" : "get-users", | |
9306 | "parameters" : { | |
9307 | "additionalProperties" : 0, | |
9308 | "properties" : { | |
9309 | "node" : { | |
9310 | "description" : "The cluster node name.", | |
9311 | "format" : "pve-node", | |
9312 | "type" : "string", | |
9313 | "typetext" : "<string>" | |
9314 | }, | |
9315 | "vmid" : { | |
9316 | "description" : "The (unique) ID of the VM.", | |
9317 | "format" : "pve-vmid", | |
9318 | "minimum" : 1, | |
9319 | "type" : "integer", | |
9320 | "typetext" : "<integer> (1 - N)" | |
9321 | } | |
9322 | } | |
9323 | }, | |
9324 | "permissions" : { | |
9325 | "check" : [ | |
9326 | "perm", | |
9327 | "/vms/{vmid}", | |
9328 | [ | |
9329 | "VM.Monitor" | |
9330 | ] | |
9331 | ] | |
9332 | }, | |
9333 | "protected" : 1, | |
9334 | "proxyto" : "node", | |
9335 | "returns" : { | |
9336 | "description" : "Returns an object with a single `result` property.", | |
9337 | "type" : "object" | |
9338 | } | |
9339 | } | |
9340 | }, | |
9341 | "leaf" : 1, | |
9342 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users", | |
9343 | "text" : "get-users" | |
9344 | }, | |
9345 | { | |
9346 | "info" : { | |
9347 | "GET" : { | |
e9cd3bd4 | 9348 | "allowtoken" : 1, |
27a7acb2 DM |
9349 | "description" : "Execute get-vcpus.", |
9350 | "method" : "GET", | |
9351 | "name" : "get-vcpus", | |
9352 | "parameters" : { | |
9353 | "additionalProperties" : 0, | |
9354 | "properties" : { | |
9355 | "node" : { | |
9356 | "description" : "The cluster node name.", | |
9357 | "format" : "pve-node", | |
9358 | "type" : "string", | |
9359 | "typetext" : "<string>" | |
9360 | }, | |
9361 | "vmid" : { | |
9362 | "description" : "The (unique) ID of the VM.", | |
9363 | "format" : "pve-vmid", | |
9364 | "minimum" : 1, | |
9365 | "type" : "integer", | |
9366 | "typetext" : "<integer> (1 - N)" | |
9367 | } | |
9368 | } | |
9369 | }, | |
9370 | "permissions" : { | |
9371 | "check" : [ | |
9372 | "perm", | |
9373 | "/vms/{vmid}", | |
9374 | [ | |
9375 | "VM.Monitor" | |
9376 | ] | |
9377 | ] | |
9378 | }, | |
9379 | "protected" : 1, | |
9380 | "proxyto" : "node", | |
9381 | "returns" : { | |
9382 | "description" : "Returns an object with a single `result` property.", | |
9383 | "type" : "object" | |
9384 | } | |
9385 | } | |
9386 | }, | |
9387 | "leaf" : 1, | |
9388 | "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus", | |
9389 | "text" : "get-vcpus" | |
9390 | }, | |
9391 | { | |
9392 | "info" : { | |
9393 | "GET" : { | |
e9cd3bd4 | 9394 | "allowtoken" : 1, |
27a7acb2 DM |
9395 | "description" : "Execute info.", |
9396 | "method" : "GET", | |
9397 | "name" : "info", | |
9398 | "parameters" : { | |
9399 | "additionalProperties" : 0, | |
9400 | "properties" : { | |
9401 | "node" : { | |
9402 | "description" : "The cluster node name.", | |
9403 | "format" : "pve-node", | |
9404 | "type" : "string", | |
9405 | "typetext" : "<string>" | |
9406 | }, | |
9407 | "vmid" : { | |
9408 | "description" : "The (unique) ID of the VM.", | |
9409 | "format" : "pve-vmid", | |
9410 | "minimum" : 1, | |
9411 | "type" : "integer", | |
9412 | "typetext" : "<integer> (1 - N)" | |
9413 | } | |
9414 | } | |
9415 | }, | |
9416 | "permissions" : { | |
9417 | "check" : [ | |
9418 | "perm", | |
9419 | "/vms/{vmid}", | |
9420 | [ | |
9421 | "VM.Monitor" | |
9422 | ] | |
9423 | ] | |
9424 | }, | |
9425 | "protected" : 1, | |
9426 | "proxyto" : "node", | |
9427 | "returns" : { | |
9428 | "description" : "Returns an object with a single `result` property.", | |
9429 | "type" : "object" | |
9430 | } | |
9431 | } | |
9432 | }, | |
9433 | "leaf" : 1, | |
9434 | "path" : "/nodes/{node}/qemu/{vmid}/agent/info", | |
9435 | "text" : "info" | |
9436 | }, | |
9437 | { | |
9438 | "info" : { | |
9439 | "GET" : { | |
e9cd3bd4 | 9440 | "allowtoken" : 1, |
27a7acb2 DM |
9441 | "description" : "Execute network-get-interfaces.", |
9442 | "method" : "GET", | |
9443 | "name" : "network-get-interfaces", | |
9444 | "parameters" : { | |
9445 | "additionalProperties" : 0, | |
9446 | "properties" : { | |
9447 | "node" : { | |
9448 | "description" : "The cluster node name.", | |
9449 | "format" : "pve-node", | |
9450 | "type" : "string", | |
9451 | "typetext" : "<string>" | |
9452 | }, | |
9453 | "vmid" : { | |
9454 | "description" : "The (unique) ID of the VM.", | |
9455 | "format" : "pve-vmid", | |
9456 | "minimum" : 1, | |
9457 | "type" : "integer", | |
9458 | "typetext" : "<integer> (1 - N)" | |
9459 | } | |
9460 | } | |
9461 | }, | |
9462 | "permissions" : { | |
9463 | "check" : [ | |
9464 | "perm", | |
9465 | "/vms/{vmid}", | |
9466 | [ | |
9467 | "VM.Monitor" | |
9468 | ] | |
9469 | ] | |
9470 | }, | |
9471 | "protected" : 1, | |
9472 | "proxyto" : "node", | |
9473 | "returns" : { | |
9474 | "description" : "Returns an object with a single `result` property.", | |
9475 | "type" : "object" | |
9476 | } | |
9477 | } | |
9478 | }, | |
9479 | "leaf" : 1, | |
9480 | "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces", | |
9481 | "text" : "network-get-interfaces" | |
9482 | }, | |
9483 | { | |
9484 | "info" : { | |
9485 | "POST" : { | |
e9cd3bd4 | 9486 | "allowtoken" : 1, |
27a7acb2 DM |
9487 | "description" : "Execute ping.", |
9488 | "method" : "POST", | |
9489 | "name" : "ping", | |
9490 | "parameters" : { | |
9491 | "additionalProperties" : 0, | |
9492 | "properties" : { | |
9493 | "node" : { | |
9494 | "description" : "The cluster node name.", | |
9495 | "format" : "pve-node", | |
9496 | "type" : "string", | |
9497 | "typetext" : "<string>" | |
9498 | }, | |
9499 | "vmid" : { | |
9500 | "description" : "The (unique) ID of the VM.", | |
9501 | "format" : "pve-vmid", | |
9502 | "minimum" : 1, | |
9503 | "type" : "integer", | |
9504 | "typetext" : "<integer> (1 - N)" | |
9505 | } | |
9506 | } | |
9507 | }, | |
9508 | "permissions" : { | |
9509 | "check" : [ | |
9510 | "perm", | |
9511 | "/vms/{vmid}", | |
9512 | [ | |
9513 | "VM.Monitor" | |
9514 | ] | |
9515 | ] | |
9516 | }, | |
9517 | "protected" : 1, | |
9518 | "proxyto" : "node", | |
9519 | "returns" : { | |
9520 | "description" : "Returns an object with a single `result` property.", | |
9521 | "type" : "object" | |
9522 | } | |
9523 | } | |
9524 | }, | |
9525 | "leaf" : 1, | |
9526 | "path" : "/nodes/{node}/qemu/{vmid}/agent/ping", | |
9527 | "text" : "ping" | |
9528 | }, | |
9529 | { | |
9530 | "info" : { | |
9531 | "POST" : { | |
e9cd3bd4 | 9532 | "allowtoken" : 1, |
27a7acb2 DM |
9533 | "description" : "Execute shutdown.", |
9534 | "method" : "POST", | |
9535 | "name" : "shutdown", | |
9536 | "parameters" : { | |
9537 | "additionalProperties" : 0, | |
9538 | "properties" : { | |
9539 | "node" : { | |
9540 | "description" : "The cluster node name.", | |
9541 | "format" : "pve-node", | |
9542 | "type" : "string", | |
9543 | "typetext" : "<string>" | |
9544 | }, | |
9545 | "vmid" : { | |
9546 | "description" : "The (unique) ID of the VM.", | |
9547 | "format" : "pve-vmid", | |
9548 | "minimum" : 1, | |
9549 | "type" : "integer", | |
9550 | "typetext" : "<integer> (1 - N)" | |
9551 | } | |
9552 | } | |
9553 | }, | |
9554 | "permissions" : { | |
9555 | "check" : [ | |
9556 | "perm", | |
9557 | "/vms/{vmid}", | |
9558 | [ | |
9559 | "VM.Monitor" | |
9560 | ] | |
9561 | ] | |
9562 | }, | |
9563 | "protected" : 1, | |
9564 | "proxyto" : "node", | |
9565 | "returns" : { | |
9566 | "description" : "Returns an object with a single `result` property.", | |
9567 | "type" : "object" | |
9568 | } | |
9569 | } | |
9570 | }, | |
9571 | "leaf" : 1, | |
9572 | "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown", | |
9573 | "text" : "shutdown" | |
9574 | }, | |
9575 | { | |
9576 | "info" : { | |
9577 | "POST" : { | |
e9cd3bd4 | 9578 | "allowtoken" : 1, |
27a7acb2 DM |
9579 | "description" : "Execute suspend-disk.", |
9580 | "method" : "POST", | |
9581 | "name" : "suspend-disk", | |
9582 | "parameters" : { | |
9583 | "additionalProperties" : 0, | |
9584 | "properties" : { | |
9585 | "node" : { | |
9586 | "description" : "The cluster node name.", | |
9587 | "format" : "pve-node", | |
9588 | "type" : "string", | |
9589 | "typetext" : "<string>" | |
9590 | }, | |
9591 | "vmid" : { | |
9592 | "description" : "The (unique) ID of the VM.", | |
9593 | "format" : "pve-vmid", | |
9594 | "minimum" : 1, | |
9595 | "type" : "integer", | |
9596 | "typetext" : "<integer> (1 - N)" | |
9597 | } | |
9598 | } | |
9599 | }, | |
9600 | "permissions" : { | |
9601 | "check" : [ | |
9602 | "perm", | |
9603 | "/vms/{vmid}", | |
9604 | [ | |
9605 | "VM.Monitor" | |
9606 | ] | |
9607 | ] | |
9608 | }, | |
9609 | "protected" : 1, | |
9610 | "proxyto" : "node", | |
9611 | "returns" : { | |
9612 | "description" : "Returns an object with a single `result` property.", | |
9613 | "type" : "object" | |
9614 | } | |
9615 | } | |
9616 | }, | |
9617 | "leaf" : 1, | |
9618 | "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk", | |
9619 | "text" : "suspend-disk" | |
9620 | }, | |
9621 | { | |
9622 | "info" : { | |
9623 | "POST" : { | |
e9cd3bd4 | 9624 | "allowtoken" : 1, |
27a7acb2 DM |
9625 | "description" : "Execute suspend-hybrid.", |
9626 | "method" : "POST", | |
9627 | "name" : "suspend-hybrid", | |
9628 | "parameters" : { | |
9629 | "additionalProperties" : 0, | |
9630 | "properties" : { | |
9631 | "node" : { | |
9632 | "description" : "The cluster node name.", | |
9633 | "format" : "pve-node", | |
9634 | "type" : "string", | |
9635 | "typetext" : "<string>" | |
9636 | }, | |
9637 | "vmid" : { | |
9638 | "description" : "The (unique) ID of the VM.", | |
9639 | "format" : "pve-vmid", | |
9640 | "minimum" : 1, | |
9641 | "type" : "integer", | |
9642 | "typetext" : "<integer> (1 - N)" | |
9643 | } | |
9644 | } | |
9645 | }, | |
9646 | "permissions" : { | |
9647 | "check" : [ | |
9648 | "perm", | |
9649 | "/vms/{vmid}", | |
9650 | [ | |
9651 | "VM.Monitor" | |
9652 | ] | |
9653 | ] | |
9654 | }, | |
9655 | "protected" : 1, | |
9656 | "proxyto" : "node", | |
9657 | "returns" : { | |
9658 | "description" : "Returns an object with a single `result` property.", | |
9659 | "type" : "object" | |
9660 | } | |
9661 | } | |
9662 | }, | |
9663 | "leaf" : 1, | |
9664 | "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid", | |
9665 | "text" : "suspend-hybrid" | |
9666 | }, | |
9667 | { | |
9668 | "info" : { | |
9669 | "POST" : { | |
e9cd3bd4 | 9670 | "allowtoken" : 1, |
27a7acb2 DM |
9671 | "description" : "Execute suspend-ram.", |
9672 | "method" : "POST", | |
9673 | "name" : "suspend-ram", | |
9674 | "parameters" : { | |
9675 | "additionalProperties" : 0, | |
9676 | "properties" : { | |
9677 | "node" : { | |
9678 | "description" : "The cluster node name.", | |
9679 | "format" : "pve-node", | |
9680 | "type" : "string", | |
9681 | "typetext" : "<string>" | |
9682 | }, | |
9683 | "vmid" : { | |
9684 | "description" : "The (unique) ID of the VM.", | |
9685 | "format" : "pve-vmid", | |
9686 | "minimum" : 1, | |
9687 | "type" : "integer", | |
9688 | "typetext" : "<integer> (1 - N)" | |
9689 | } | |
9690 | } | |
9691 | }, | |
9692 | "permissions" : { | |
9693 | "check" : [ | |
9694 | "perm", | |
9695 | "/vms/{vmid}", | |
9696 | [ | |
9697 | "VM.Monitor" | |
9698 | ] | |
9699 | ] | |
9700 | }, | |
9701 | "protected" : 1, | |
9702 | "proxyto" : "node", | |
9703 | "returns" : { | |
9704 | "description" : "Returns an object with a single `result` property.", | |
9705 | "type" : "object" | |
9706 | } | |
9707 | } | |
9708 | }, | |
9709 | "leaf" : 1, | |
9710 | "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram", | |
9711 | "text" : "suspend-ram" | |
4d47f125 TL |
9712 | }, |
9713 | { | |
9714 | "info" : { | |
9715 | "POST" : { | |
e9cd3bd4 | 9716 | "allowtoken" : 1, |
4d47f125 TL |
9717 | "description" : "Sets the password for the given user to the given password", |
9718 | "method" : "POST", | |
9719 | "name" : "set-user-password", | |
9720 | "parameters" : { | |
9721 | "additionalProperties" : 0, | |
9722 | "properties" : { | |
9723 | "crypted" : { | |
9724 | "default" : 0, | |
9725 | "description" : "set to 1 if the password has already been passed through crypt()", | |
9726 | "optional" : 1, | |
9727 | "type" : "boolean", | |
9728 | "typetext" : "<boolean>" | |
9729 | }, | |
9730 | "node" : { | |
9731 | "description" : "The cluster node name.", | |
9732 | "format" : "pve-node", | |
9733 | "type" : "string", | |
9734 | "typetext" : "<string>" | |
9735 | }, | |
9736 | "password" : { | |
9737 | "description" : "The new password.", | |
1c532546 | 9738 | "maxLength" : 1024, |
4d47f125 TL |
9739 | "minLength" : 5, |
9740 | "type" : "string", | |
9741 | "typetext" : "<string>" | |
9742 | }, | |
9743 | "username" : { | |
9744 | "description" : "The user to set the password for.", | |
9745 | "type" : "string", | |
9746 | "typetext" : "<string>" | |
9747 | }, | |
9748 | "vmid" : { | |
9749 | "description" : "The (unique) ID of the VM.", | |
9750 | "format" : "pve-vmid", | |
9751 | "minimum" : 1, | |
9752 | "type" : "integer", | |
9753 | "typetext" : "<integer> (1 - N)" | |
9754 | } | |
9755 | } | |
27a7acb2 | 9756 | }, |
4d47f125 TL |
9757 | "permissions" : { |
9758 | "check" : [ | |
9759 | "perm", | |
9760 | "/vms/{vmid}", | |
9761 | [ | |
9762 | "VM.Monitor" | |
9763 | ] | |
9764 | ] | |
9765 | }, | |
9766 | "protected" : 1, | |
9767 | "proxyto" : "node", | |
9768 | "returns" : { | |
9769 | "description" : "Returns an object with a single `result` property.", | |
9770 | "type" : "object" | |
27a7acb2 DM |
9771 | } |
9772 | } | |
9773 | }, | |
4d47f125 TL |
9774 | "leaf" : 1, |
9775 | "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password", | |
9776 | "text" : "set-user-password" | |
27a7acb2 | 9777 | }, |
4d47f125 TL |
9778 | { |
9779 | "info" : { | |
9780 | "POST" : { | |
e9cd3bd4 | 9781 | "allowtoken" : 1, |
4d47f125 TL |
9782 | "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.", |
9783 | "method" : "POST", | |
9784 | "name" : "exec", | |
9785 | "parameters" : { | |
9786 | "additionalProperties" : 0, | |
9787 | "properties" : { | |
9788 | "command" : { | |
9789 | "description" : "The command as a list of program + arguments", | |
9790 | "format" : "string-alist", | |
c5aa7e14 TL |
9791 | "optional" : 1, |
9792 | "type" : "string", | |
9793 | "typetext" : "<string>" | |
9794 | }, | |
9795 | "input-data" : { | |
9796 | "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.", | |
9797 | "maxLength" : 65536, | |
9798 | "optional" : 1, | |
4d47f125 TL |
9799 | "type" : "string", |
9800 | "typetext" : "<string>" | |
9801 | }, | |
9802 | "node" : { | |
9803 | "description" : "The cluster node name.", | |
9804 | "format" : "pve-node", | |
9805 | "type" : "string", | |
9806 | "typetext" : "<string>" | |
9807 | }, | |
9808 | "vmid" : { | |
9809 | "description" : "The (unique) ID of the VM.", | |
9810 | "format" : "pve-vmid", | |
9811 | "minimum" : 1, | |
9812 | "type" : "integer", | |
9813 | "typetext" : "<integer> (1 - N)" | |
9814 | } | |
9815 | } | |
27a7acb2 | 9816 | }, |
4d47f125 TL |
9817 | "permissions" : { |
9818 | "check" : [ | |
9819 | "perm", | |
9820 | "/vms/{vmid}", | |
9821 | [ | |
9822 | "VM.Monitor" | |
9823 | ] | |
9824 | ] | |
27a7acb2 | 9825 | }, |
4d47f125 TL |
9826 | "protected" : 1, |
9827 | "proxyto" : "node", | |
9828 | "returns" : { | |
9829 | "properties" : { | |
9830 | "pid" : { | |
9831 | "description" : "The PID of the process started by the guest-agent.", | |
9832 | "type" : "integer" | |
9833 | } | |
9834 | }, | |
9835 | "type" : "object" | |
27a7acb2 DM |
9836 | } |
9837 | } | |
9838 | }, | |
4d47f125 TL |
9839 | "leaf" : 1, |
9840 | "path" : "/nodes/{node}/qemu/{vmid}/agent/exec", | |
9841 | "text" : "exec" | |
9842 | }, | |
9843 | { | |
9844 | "info" : { | |
9845 | "GET" : { | |
e9cd3bd4 | 9846 | "allowtoken" : 1, |
4d47f125 TL |
9847 | "description" : "Gets the status of the given pid started by the guest-agent", |
9848 | "method" : "GET", | |
9849 | "name" : "exec-status", | |
9850 | "parameters" : { | |
9851 | "additionalProperties" : 0, | |
9852 | "properties" : { | |
9853 | "node" : { | |
9854 | "description" : "The cluster node name.", | |
9855 | "format" : "pve-node", | |
9856 | "type" : "string", | |
9857 | "typetext" : "<string>" | |
9858 | }, | |
9859 | "pid" : { | |
9860 | "description" : "The PID to query", | |
9861 | "type" : "integer", | |
9862 | "typetext" : "<integer>" | |
9863 | }, | |
9864 | "vmid" : { | |
9865 | "description" : "The (unique) ID of the VM.", | |
9866 | "format" : "pve-vmid", | |
9867 | "minimum" : 1, | |
9868 | "type" : "integer", | |
9869 | "typetext" : "<integer> (1 - N)" | |
9870 | } | |
9871 | } | |
56122987 | 9872 | }, |
4d47f125 TL |
9873 | "permissions" : { |
9874 | "check" : [ | |
9875 | "perm", | |
9876 | "/vms/{vmid}", | |
9877 | [ | |
9878 | "VM.Monitor" | |
9879 | ] | |
9880 | ] | |
56122987 | 9881 | }, |
4d47f125 TL |
9882 | "protected" : 1, |
9883 | "proxyto" : "node", | |
9884 | "returns" : { | |
9885 | "properties" : { | |
9886 | "err-data" : { | |
9887 | "description" : "stderr of the process", | |
9888 | "optional" : 1, | |
9889 | "type" : "string" | |
9890 | }, | |
9891 | "err-truncated" : { | |
9892 | "description" : "true if stderr was not fully captured", | |
9893 | "optional" : 1, | |
9894 | "type" : "boolean" | |
9895 | }, | |
9896 | "exitcode" : { | |
9897 | "description" : "process exit code if it was normally terminated.", | |
9898 | "optional" : 1, | |
9899 | "type" : "integer" | |
9900 | }, | |
9901 | "exited" : { | |
9902 | "description" : "Tells if the given command has exited yet.", | |
9903 | "type" : "boolean" | |
9904 | }, | |
9905 | "out-data" : { | |
9906 | "description" : "stdout of the process", | |
9907 | "optional" : 1, | |
9908 | "type" : "string" | |
9909 | }, | |
9910 | "out-truncated" : { | |
9911 | "description" : "true if stdout was not fully captured", | |
9912 | "optional" : 1, | |
9913 | "type" : "boolean" | |
9914 | }, | |
9915 | "signal" : { | |
9916 | "description" : "signal number or exception code if the process was abnormally terminated.", | |
9917 | "optional" : 1, | |
9918 | "type" : "integer" | |
9919 | } | |
9920 | }, | |
9921 | "type" : "object" | |
56122987 DM |
9922 | } |
9923 | } | |
9924 | }, | |
4d47f125 TL |
9925 | "leaf" : 1, |
9926 | "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status", | |
9927 | "text" : "exec-status" | |
9928 | }, | |
9929 | { | |
9930 | "info" : { | |
9931 | "GET" : { | |
e9cd3bd4 | 9932 | "allowtoken" : 1, |
4d47f125 TL |
9933 | "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.", |
9934 | "method" : "GET", | |
9935 | "name" : "file-read", | |
9936 | "parameters" : { | |
9937 | "additionalProperties" : 0, | |
9938 | "properties" : { | |
9939 | "file" : { | |
9940 | "description" : "The path to the file", | |
9941 | "type" : "string", | |
9942 | "typetext" : "<string>" | |
9943 | }, | |
9944 | "node" : { | |
9945 | "description" : "The cluster node name.", | |
9946 | "format" : "pve-node", | |
9947 | "type" : "string", | |
9948 | "typetext" : "<string>" | |
9949 | }, | |
9950 | "vmid" : { | |
9951 | "description" : "The (unique) ID of the VM.", | |
9952 | "format" : "pve-vmid", | |
9953 | "minimum" : 1, | |
9954 | "type" : "integer", | |
9955 | "typetext" : "<integer> (1 - N)" | |
9956 | } | |
9957 | } | |
9958 | }, | |
9959 | "permissions" : { | |
9960 | "check" : [ | |
9961 | "perm", | |
9962 | "/vms/{vmid}", | |
9963 | [ | |
9964 | "VM.Monitor" | |
9965 | ] | |
9966 | ] | |
9967 | }, | |
9968 | "protected" : 1, | |
9969 | "proxyto" : "node", | |
9970 | "returns" : { | |
9971 | "description" : "Returns an object with a `content` property.", | |
9972 | "properties" : { | |
9973 | "content" : { | |
9974 | "description" : "The content of the file, maximum 16777216", | |
9975 | "type" : "string" | |
9976 | }, | |
9977 | "truncated" : { | |
9978 | "description" : "If set to 1, the output is truncated and not complete", | |
9979 | "optional" : 1, | |
9980 | "type" : "boolean" | |
9981 | } | |
9982 | }, | |
9983 | "type" : "object" | |
9984 | } | |
9985 | } | |
56122987 | 9986 | }, |
4d47f125 TL |
9987 | "leaf" : 1, |
9988 | "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read", | |
9989 | "text" : "file-read" | |
9990 | }, | |
9991 | { | |
9992 | "info" : { | |
9993 | "POST" : { | |
e9cd3bd4 | 9994 | "allowtoken" : 1, |
4d47f125 TL |
9995 | "description" : "Writes the given file via guest agent.", |
9996 | "method" : "POST", | |
9997 | "name" : "file-write", | |
9998 | "parameters" : { | |
9999 | "additionalProperties" : 0, | |
10000 | "properties" : { | |
10001 | "content" : { | |
10002 | "description" : "The content to write into the file.", | |
10003 | "maxLength" : 61440, | |
10004 | "type" : "string", | |
10005 | "typetext" : "<string>" | |
10006 | }, | |
10007 | "file" : { | |
10008 | "description" : "The path to the file.", | |
10009 | "type" : "string", | |
10010 | "typetext" : "<string>" | |
10011 | }, | |
10012 | "node" : { | |
10013 | "description" : "The cluster node name.", | |
10014 | "format" : "pve-node", | |
10015 | "type" : "string", | |
10016 | "typetext" : "<string>" | |
10017 | }, | |
10018 | "vmid" : { | |
10019 | "description" : "The (unique) ID of the VM.", | |
10020 | "format" : "pve-vmid", | |
10021 | "minimum" : 1, | |
10022 | "type" : "integer", | |
10023 | "typetext" : "<integer> (1 - N)" | |
10024 | } | |
10025 | } | |
10026 | }, | |
10027 | "permissions" : { | |
10028 | "check" : [ | |
10029 | "perm", | |
10030 | "/vms/{vmid}", | |
10031 | [ | |
10032 | "VM.Monitor" | |
10033 | ] | |
10034 | ] | |
10035 | }, | |
10036 | "protected" : 1, | |
10037 | "proxyto" : "node", | |
10038 | "returns" : { | |
10039 | "type" : "null" | |
7aacca6f | 10040 | } |
4d47f125 TL |
10041 | } |
10042 | }, | |
10043 | "leaf" : 1, | |
10044 | "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write", | |
10045 | "text" : "file-write" | |
56122987 | 10046 | } |
4d47f125 | 10047 | ], |
7aacca6f | 10048 | "info" : { |
56122987 | 10049 | "GET" : { |
e9cd3bd4 | 10050 | "allowtoken" : 1, |
4d47f125 | 10051 | "description" : "Qemu Agent command index.", |
44660702 | 10052 | "method" : "GET", |
4d47f125 | 10053 | "name" : "index", |
56122987 | 10054 | "parameters" : { |
4d47f125 | 10055 | "additionalProperties" : 1, |
56122987 DM |
10056 | "properties" : { |
10057 | "node" : { | |
44660702 | 10058 | "description" : "The cluster node name.", |
56122987 | 10059 | "format" : "pve-node", |
013dc89f DM |
10060 | "type" : "string", |
10061 | "typetext" : "<string>" | |
56122987 | 10062 | }, |
7aacca6f | 10063 | "vmid" : { |
7aacca6f DM |
10064 | "description" : "The (unique) ID of the VM.", |
10065 | "format" : "pve-vmid", | |
44660702 | 10066 | "minimum" : 1, |
4bd7df8b | 10067 | "type" : "integer", |
013dc89f | 10068 | "typetext" : "<integer> (1 - N)" |
56122987 | 10069 | } |
44660702 | 10070 | } |
56122987 | 10071 | }, |
56122987 | 10072 | "permissions" : { |
4d47f125 | 10073 | "user" : "all" |
56122987 | 10074 | }, |
4d47f125 | 10075 | "proxyto" : "node", |
7aacca6f | 10076 | "returns" : { |
4d47f125 | 10077 | "description" : "Returns the list of Qemu Agent commands", |
7aacca6f | 10078 | "items" : { |
44660702 DM |
10079 | "properties" : {}, |
10080 | "type" : "object" | |
10081 | }, | |
4d47f125 TL |
10082 | "links" : [ |
10083 | { | |
10084 | "href" : "{name}", | |
10085 | "rel" : "child" | |
10086 | } | |
10087 | ], | |
44660702 | 10088 | "type" : "array" |
7aacca6f | 10089 | } |
4d47f125 TL |
10090 | }, |
10091 | "POST" : { | |
e9cd3bd4 | 10092 | "allowtoken" : 1, |
4d47f125 TL |
10093 | "description" : "Execute Qemu Guest Agent commands.", |
10094 | "method" : "POST", | |
10095 | "name" : "agent", | |
44660702 DM |
10096 | "parameters" : { |
10097 | "additionalProperties" : 0, | |
10098 | "properties" : { | |
4d47f125 TL |
10099 | "command" : { |
10100 | "description" : "The QGA command.", | |
10101 | "enum" : [ | |
10102 | "fsfreeze-freeze", | |
10103 | "fsfreeze-status", | |
10104 | "fsfreeze-thaw", | |
10105 | "fstrim", | |
10106 | "get-fsinfo", | |
10107 | "get-host-name", | |
10108 | "get-memory-block-info", | |
10109 | "get-memory-blocks", | |
10110 | "get-osinfo", | |
10111 | "get-time", | |
10112 | "get-timezone", | |
10113 | "get-users", | |
10114 | "get-vcpus", | |
10115 | "info", | |
10116 | "network-get-interfaces", | |
10117 | "ping", | |
10118 | "shutdown", | |
10119 | "suspend-disk", | |
10120 | "suspend-hybrid", | |
10121 | "suspend-ram" | |
10122 | ], | |
10123 | "type" : "string" | |
10124 | }, | |
10125 | "node" : { | |
10126 | "description" : "The cluster node name.", | |
10127 | "format" : "pve-node", | |
10128 | "type" : "string", | |
10129 | "typetext" : "<string>" | |
10130 | }, | |
10131 | "vmid" : { | |
10132 | "description" : "The (unique) ID of the VM.", | |
10133 | "format" : "pve-vmid", | |
10134 | "minimum" : 1, | |
10135 | "type" : "integer", | |
10136 | "typetext" : "<integer> (1 - N)" | |
10137 | } | |
10138 | } | |
10139 | }, | |
10140 | "permissions" : { | |
10141 | "check" : [ | |
10142 | "perm", | |
10143 | "/vms/{vmid}", | |
10144 | [ | |
10145 | "VM.Monitor" | |
10146 | ] | |
10147 | ] | |
10148 | }, | |
10149 | "protected" : 1, | |
10150 | "proxyto" : "node", | |
10151 | "returns" : { | |
10152 | "description" : "Returns an object with a single `result` property.", | |
10153 | "type" : "object" | |
10154 | } | |
10155 | } | |
10156 | }, | |
10157 | "leaf" : 0, | |
10158 | "path" : "/nodes/{node}/qemu/{vmid}/agent", | |
10159 | "text" : "agent" | |
10160 | }, | |
10161 | { | |
10162 | "info" : { | |
10163 | "GET" : { | |
e9cd3bd4 | 10164 | "allowtoken" : 1, |
4d47f125 TL |
10165 | "description" : "Read VM RRD statistics (returns PNG)", |
10166 | "method" : "GET", | |
10167 | "name" : "rrd", | |
10168 | "parameters" : { | |
10169 | "additionalProperties" : 0, | |
10170 | "properties" : { | |
10171 | "cf" : { | |
10172 | "description" : "The RRD consolidation function", | |
10173 | "enum" : [ | |
10174 | "AVERAGE", | |
10175 | "MAX" | |
10176 | ], | |
44660702 | 10177 | "optional" : 1, |
4d47f125 TL |
10178 | "type" : "string" |
10179 | }, | |
10180 | "ds" : { | |
10181 | "description" : "The list of datasources you want to display.", | |
10182 | "format" : "pve-configid-list", | |
10183 | "type" : "string", | |
10184 | "typetext" : "<string>" | |
44660702 DM |
10185 | }, |
10186 | "node" : { | |
10187 | "description" : "The cluster node name.", | |
10188 | "format" : "pve-node", | |
013dc89f DM |
10189 | "type" : "string", |
10190 | "typetext" : "<string>" | |
44660702 | 10191 | }, |
4d47f125 TL |
10192 | "timeframe" : { |
10193 | "description" : "Specify the time frame you are interested in.", | |
10194 | "enum" : [ | |
10195 | "hour", | |
10196 | "day", | |
10197 | "week", | |
10198 | "month", | |
10199 | "year" | |
10200 | ], | |
10201 | "type" : "string" | |
10202 | }, | |
44660702 DM |
10203 | "vmid" : { |
10204 | "description" : "The (unique) ID of the VM.", | |
10205 | "format" : "pve-vmid", | |
10206 | "minimum" : 1, | |
4bd7df8b | 10207 | "type" : "integer", |
013dc89f | 10208 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10209 | } |
10210 | } | |
7aacca6f | 10211 | }, |
56122987 DM |
10212 | "permissions" : { |
10213 | "check" : [ | |
10214 | "perm", | |
10215 | "/vms/{vmid}", | |
10216 | [ | |
44660702 DM |
10217 | "VM.Audit" |
10218 | ] | |
56122987 DM |
10219 | ] |
10220 | }, | |
4d47f125 | 10221 | "protected" : 1, |
44660702 DM |
10222 | "returns" : { |
10223 | "properties" : { | |
4d47f125 | 10224 | "filename" : { |
44660702 DM |
10225 | "type" : "string" |
10226 | } | |
10227 | }, | |
10228 | "type" : "object" | |
10229 | } | |
4d47f125 TL |
10230 | } |
10231 | }, | |
10232 | "leaf" : 1, | |
10233 | "path" : "/nodes/{node}/qemu/{vmid}/rrd", | |
10234 | "text" : "rrd" | |
10235 | }, | |
10236 | { | |
10237 | "info" : { | |
10238 | "GET" : { | |
e9cd3bd4 | 10239 | "allowtoken" : 1, |
4d47f125 TL |
10240 | "description" : "Read VM RRD statistics", |
10241 | "method" : "GET", | |
10242 | "name" : "rrddata", | |
10243 | "parameters" : { | |
10244 | "additionalProperties" : 0, | |
10245 | "properties" : { | |
10246 | "cf" : { | |
10247 | "description" : "The RRD consolidation function", | |
10248 | "enum" : [ | |
10249 | "AVERAGE", | |
10250 | "MAX" | |
10251 | ], | |
10252 | "optional" : 1, | |
10253 | "type" : "string" | |
10254 | }, | |
10255 | "node" : { | |
10256 | "description" : "The cluster node name.", | |
10257 | "format" : "pve-node", | |
10258 | "type" : "string", | |
10259 | "typetext" : "<string>" | |
10260 | }, | |
10261 | "timeframe" : { | |
10262 | "description" : "Specify the time frame you are interested in.", | |
10263 | "enum" : [ | |
10264 | "hour", | |
10265 | "day", | |
10266 | "week", | |
10267 | "month", | |
10268 | "year" | |
10269 | ], | |
10270 | "type" : "string" | |
10271 | }, | |
10272 | "vmid" : { | |
10273 | "description" : "The (unique) ID of the VM.", | |
10274 | "format" : "pve-vmid", | |
10275 | "minimum" : 1, | |
10276 | "type" : "integer", | |
10277 | "typetext" : "<integer> (1 - N)" | |
10278 | } | |
10279 | } | |
10280 | }, | |
10281 | "permissions" : { | |
10282 | "check" : [ | |
10283 | "perm", | |
10284 | "/vms/{vmid}", | |
10285 | [ | |
10286 | "VM.Audit" | |
10287 | ] | |
10288 | ] | |
10289 | }, | |
10290 | "protected" : 1, | |
10291 | "returns" : { | |
10292 | "items" : { | |
10293 | "properties" : {}, | |
10294 | "type" : "object" | |
10295 | }, | |
10296 | "type" : "array" | |
10297 | } | |
10298 | } | |
10299 | }, | |
10300 | "leaf" : 1, | |
10301 | "path" : "/nodes/{node}/qemu/{vmid}/rrddata", | |
10302 | "text" : "rrddata" | |
10303 | }, | |
10304 | { | |
10305 | "info" : { | |
10306 | "GET" : { | |
e9cd3bd4 TL |
10307 | "allowtoken" : 1, |
10308 | "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.", | |
4d47f125 TL |
10309 | "method" : "GET", |
10310 | "name" : "vm_config", | |
56122987 | 10311 | "parameters" : { |
44660702 | 10312 | "additionalProperties" : 0, |
4d47f125 TL |
10313 | "properties" : { |
10314 | "current" : { | |
10315 | "default" : 0, | |
10316 | "description" : "Get current values (instead of pending values).", | |
10317 | "optional" : 1, | |
10318 | "type" : "boolean", | |
10319 | "typetext" : "<boolean>" | |
10320 | }, | |
10321 | "node" : { | |
10322 | "description" : "The cluster node name.", | |
10323 | "format" : "pve-node", | |
10324 | "type" : "string", | |
10325 | "typetext" : "<string>" | |
10326 | }, | |
5f26e15b TL |
10327 | "snapshot" : { |
10328 | "description" : "Fetch config values from given snapshot.", | |
10329 | "format" : "pve-configid", | |
10330 | "maxLength" : 40, | |
10331 | "optional" : 1, | |
10332 | "type" : "string", | |
10333 | "typetext" : "<string>" | |
10334 | }, | |
4d47f125 TL |
10335 | "vmid" : { |
10336 | "description" : "The (unique) ID of the VM.", | |
10337 | "format" : "pve-vmid", | |
10338 | "minimum" : 1, | |
10339 | "type" : "integer", | |
10340 | "typetext" : "<integer> (1 - N)" | |
10341 | } | |
10342 | } | |
10343 | }, | |
10344 | "permissions" : { | |
10345 | "check" : [ | |
10346 | "perm", | |
10347 | "/vms/{vmid}", | |
10348 | [ | |
10349 | "VM.Audit" | |
10350 | ] | |
10351 | ] | |
10352 | }, | |
10353 | "proxyto" : "node", | |
10354 | "returns" : { | |
e9cd3bd4 | 10355 | "description" : "The VM configuration.", |
56122987 | 10356 | "properties" : { |
44660702 DM |
10357 | "acpi" : { |
10358 | "default" : 1, | |
10359 | "description" : "Enable/disable ACPI.", | |
10360 | "optional" : 1, | |
4d47f125 | 10361 | "type" : "boolean" |
44660702 DM |
10362 | }, |
10363 | "agent" : { | |
4d47f125 TL |
10364 | "description" : "Enable/disable Qemu GuestAgent and its properties.", |
10365 | "format" : { | |
10366 | "enabled" : { | |
10367 | "default" : 0, | |
10368 | "default_key" : 1, | |
10369 | "description" : "Enable/disable Qemu GuestAgent.", | |
10370 | "type" : "boolean" | |
10371 | }, | |
10372 | "fstrim_cloned_disks" : { | |
10373 | "default" : 0, | |
10374 | "description" : "Run fstrim after cloning/moving a disk.", | |
10375 | "optional" : 1, | |
10376 | "type" : "boolean" | |
5c1699e5 TL |
10377 | }, |
10378 | "type" : { | |
10379 | "default" : "virtio", | |
10380 | "description" : "Select the agent type", | |
10381 | "enum" : [ | |
10382 | "virtio", | |
10383 | "isa" | |
10384 | ], | |
10385 | "optional" : 1, | |
10386 | "type" : "string" | |
4d47f125 TL |
10387 | } |
10388 | }, | |
7aacca6f | 10389 | "optional" : 1, |
4d47f125 | 10390 | "type" : "string" |
7aacca6f | 10391 | }, |
e2d681b3 TL |
10392 | "arch" : { |
10393 | "description" : "Virtual processor architecture. Defaults to the host.", | |
10394 | "enum" : [ | |
10395 | "x86_64", | |
10396 | "aarch64" | |
10397 | ], | |
10398 | "optional" : 1, | |
10399 | "type" : "string" | |
10400 | }, | |
44660702 | 10401 | "args" : { |
c2993fe5 | 10402 | "description" : "Arbitrary arguments passed to kvm.", |
44660702 | 10403 | "optional" : 1, |
c2993fe5 DM |
10404 | "type" : "string", |
10405 | "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 | 10406 | }, |
1c532546 TL |
10407 | "audio0" : { |
10408 | "description" : "Configure a audio device, useful in combination with QXL/Spice.", | |
10409 | "format" : { | |
10410 | "device" : { | |
10411 | "description" : "Configure an audio device.", | |
10412 | "enum" : [ | |
10413 | "ich9-intel-hda", | |
10414 | "intel-hda", | |
10415 | "AC97" | |
10416 | ], | |
10417 | "type" : "string" | |
10418 | }, | |
10419 | "driver" : { | |
10420 | "default" : "spice", | |
10421 | "description" : "Driver backend for the audio device.", | |
10422 | "enum" : [ | |
10423 | "spice" | |
10424 | ], | |
10425 | "optional" : 1, | |
10426 | "type" : "string" | |
10427 | } | |
10428 | }, | |
10429 | "optional" : 1, | |
10430 | "type" : "string" | |
10431 | }, | |
44660702 DM |
10432 | "autostart" : { |
10433 | "default" : 0, | |
10434 | "description" : "Automatic restart after crash (currently ignored).", | |
56122987 | 10435 | "optional" : 1, |
4d47f125 | 10436 | "type" : "boolean" |
56122987 | 10437 | }, |
4d47f125 TL |
10438 | "balloon" : { |
10439 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
10440 | "minimum" : 0, | |
7aacca6f | 10441 | "optional" : 1, |
4d47f125 | 10442 | "type" : "integer" |
7aacca6f | 10443 | }, |
44660702 DM |
10444 | "bios" : { |
10445 | "default" : "seabios", | |
10446 | "description" : "Select BIOS implementation.", | |
10447 | "enum" : [ | |
10448 | "seabios", | |
10449 | "ovmf" | |
10450 | ], | |
56122987 | 10451 | "optional" : 1, |
44660702 | 10452 | "type" : "string" |
7aacca6f | 10453 | }, |
44660702 DM |
10454 | "boot" : { |
10455 | "default" : "cdn", | |
10456 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
10457 | "optional" : 1, | |
10458 | "pattern" : "[acdn]{1,4}", | |
10459 | "type" : "string" | |
10460 | }, | |
10461 | "bootdisk" : { | |
10462 | "description" : "Enable booting from specified disk.", | |
10463 | "format" : "pve-qm-bootdisk", | |
10464 | "optional" : 1, | |
10465 | "pattern" : "(ide|sata|scsi|virtio)\\d+", | |
10466 | "type" : "string" | |
10467 | }, | |
10468 | "cdrom" : { | |
10469 | "description" : "This is an alias for option -ide2", | |
de0983cb | 10470 | "format" : "pve-qm-ide", |
44660702 | 10471 | "optional" : 1, |
7aacca6f | 10472 | "type" : "string", |
013dc89f | 10473 | "typetext" : "<volume>" |
44660702 | 10474 | }, |
95895385 TL |
10475 | "cicustom" : { |
10476 | "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.", | |
10477 | "format" : "pve-qm-cicustom", | |
10478 | "optional" : 1, | |
10479 | "type" : "string" | |
10480 | }, | |
27a7acb2 DM |
10481 | "cipassword" : { |
10482 | "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.", | |
10483 | "optional" : 1, | |
4d47f125 | 10484 | "type" : "string" |
27a7acb2 DM |
10485 | }, |
10486 | "citype" : { | |
10487 | "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.", | |
10488 | "enum" : [ | |
10489 | "configdrive2", | |
10490 | "nocloud" | |
10491 | ], | |
10492 | "optional" : 1, | |
10493 | "type" : "string" | |
10494 | }, | |
10495 | "ciuser" : { | |
10496 | "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.", | |
10497 | "optional" : 1, | |
4d47f125 | 10498 | "type" : "string" |
27a7acb2 | 10499 | }, |
44660702 DM |
10500 | "cores" : { |
10501 | "default" : 1, | |
10502 | "description" : "The number of cores per socket.", | |
10503 | "minimum" : 1, | |
7aacca6f | 10504 | "optional" : 1, |
4d47f125 | 10505 | "type" : "integer" |
7aacca6f | 10506 | }, |
44660702 DM |
10507 | "cpu" : { |
10508 | "description" : "Emulated CPU type.", | |
c5aa7e14 | 10509 | "format" : "pve-vm-cpu-conf", |
44660702 | 10510 | "optional" : 1, |
4d47f125 | 10511 | "type" : "string" |
44660702 DM |
10512 | }, |
10513 | "cpulimit" : { | |
10514 | "default" : 0, | |
c2993fe5 | 10515 | "description" : "Limit of CPU usage.", |
44660702 DM |
10516 | "maximum" : 128, |
10517 | "minimum" : 0, | |
10518 | "optional" : 1, | |
c2993fe5 DM |
10519 | "type" : "number", |
10520 | "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 |
10521 | }, |
10522 | "cpuunits" : { | |
de0983cb | 10523 | "default" : 1024, |
c2993fe5 | 10524 | "description" : "CPU weight for a VM.", |
2489d6df WB |
10525 | "maximum" : 262144, |
10526 | "minimum" : 2, | |
44660702 | 10527 | "optional" : 1, |
c2993fe5 | 10528 | "type" : "integer", |
2489d6df | 10529 | "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." |
44660702 | 10530 | }, |
44660702 DM |
10531 | "description" : { |
10532 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
10533 | "optional" : 1, | |
4d47f125 | 10534 | "type" : "string" |
44660702 DM |
10535 | }, |
10536 | "digest" : { | |
4d47f125 TL |
10537 | "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.", |
10538 | "type" : "string" | |
44660702 | 10539 | }, |
4d47f125 TL |
10540 | "efidisk0" : { |
10541 | "description" : "Configure a Disk for storing EFI vars", | |
10542 | "format" : { | |
10543 | "file" : { | |
10544 | "default_key" : 1, | |
10545 | "description" : "The drive's backing volume.", | |
10546 | "format" : "pve-volume-id-or-qm-path", | |
10547 | "format_description" : "volume", | |
10548 | "type" : "string" | |
10549 | }, | |
10550 | "format" : { | |
10551 | "description" : "The drive's backing file's data format.", | |
10552 | "enum" : [ | |
10553 | "raw", | |
10554 | "cow", | |
10555 | "qcow", | |
10556 | "qed", | |
10557 | "qcow2", | |
10558 | "vmdk", | |
10559 | "cloop" | |
10560 | ], | |
10561 | "optional" : 1, | |
10562 | "type" : "string" | |
10563 | }, | |
10564 | "size" : { | |
10565 | "description" : "Disk size. This is purely informational and has no effect.", | |
10566 | "format" : "disk-size", | |
10567 | "format_description" : "DiskSize", | |
10568 | "optional" : 1, | |
10569 | "type" : "string" | |
10570 | }, | |
10571 | "volume" : { | |
10572 | "alias" : "file" | |
10573 | } | |
10574 | }, | |
44660702 | 10575 | "optional" : 1, |
4d47f125 | 10576 | "type" : "string" |
44660702 DM |
10577 | }, |
10578 | "freeze" : { | |
10579 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
10580 | "optional" : 1, | |
4d47f125 | 10581 | "type" : "boolean" |
44660702 | 10582 | }, |
5f26e15b TL |
10583 | "hookscript" : { |
10584 | "description" : "Script that will be executed during various steps in the vms lifetime.", | |
10585 | "format" : "pve-volume-id", | |
10586 | "optional" : 1, | |
10587 | "type" : "string" | |
10588 | }, | |
44660702 | 10589 | "hostpci[n]" : { |
c2993fe5 | 10590 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
10591 | "format" : "pve-qm-hostpci", |
10592 | "optional" : 1, | |
57b78691 | 10593 | "type" : "string", |
bb4c8cf8 | 10594 | "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 |
10595 | }, |
10596 | "hotplug" : { | |
10597 | "default" : "network,disk,usb", | |
10598 | "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'.", | |
10599 | "format" : "pve-hotplug-features", | |
10600 | "optional" : 1, | |
4d47f125 | 10601 | "type" : "string" |
44660702 | 10602 | }, |
4bd7df8b DM |
10603 | "hugepages" : { |
10604 | "description" : "Enable/disable hugepages memory.", | |
10605 | "enum" : [ | |
10606 | "any", | |
10607 | "2", | |
10608 | "1024" | |
10609 | ], | |
10610 | "optional" : 1, | |
10611 | "type" : "string" | |
10612 | }, | |
44660702 DM |
10613 | "ide[n]" : { |
10614 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", | |
10615 | "format" : { | |
10616 | "aio" : { | |
10617 | "description" : "AIO type to use.", | |
10618 | "enum" : [ | |
10619 | "native", | |
10620 | "threads" | |
56122987 | 10621 | ], |
56122987 | 10622 | "optional" : 1, |
44660702 | 10623 | "type" : "string" |
56122987 | 10624 | }, |
44660702 DM |
10625 | "backup" : { |
10626 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 10627 | "optional" : 1, |
44660702 | 10628 | "type" : "boolean" |
56122987 | 10629 | }, |
7aacca6f | 10630 | "bps" : { |
de0983cb | 10631 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
10632 | "format_description" : "bps", |
10633 | "optional" : 1, | |
10634 | "type" : "integer" | |
10635 | }, | |
de0983cb DM |
10636 | "bps_max_length" : { |
10637 | "description" : "Maximum length of I/O bursts in seconds.", | |
10638 | "format_description" : "seconds", | |
10639 | "minimum" : 1, | |
10640 | "optional" : 1, | |
10641 | "type" : "integer" | |
10642 | }, | |
44660702 | 10643 | "bps_rd" : { |
de0983cb | 10644 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 10645 | "format_description" : "bps", |
56122987 | 10646 | "optional" : 1, |
44660702 | 10647 | "type" : "integer" |
56122987 | 10648 | }, |
de0983cb | 10649 | "bps_rd_length" : { |
5d9c884c DM |
10650 | "alias" : "bps_rd_max_length" |
10651 | }, | |
10652 | "bps_rd_max_length" : { | |
de0983cb DM |
10653 | "description" : "Maximum length of read I/O bursts in seconds.", |
10654 | "format_description" : "seconds", | |
10655 | "minimum" : 1, | |
10656 | "optional" : 1, | |
10657 | "type" : "integer" | |
10658 | }, | |
44660702 | 10659 | "bps_wr" : { |
de0983cb | 10660 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
10661 | "format_description" : "bps", |
10662 | "optional" : 1, | |
10663 | "type" : "integer" | |
10664 | }, | |
de0983cb | 10665 | "bps_wr_length" : { |
5d9c884c DM |
10666 | "alias" : "bps_wr_max_length" |
10667 | }, | |
10668 | "bps_wr_max_length" : { | |
de0983cb DM |
10669 | "description" : "Maximum length of write I/O bursts in seconds.", |
10670 | "format_description" : "seconds", | |
10671 | "minimum" : 1, | |
10672 | "optional" : 1, | |
10673 | "type" : "integer" | |
10674 | }, | |
44660702 DM |
10675 | "cache" : { |
10676 | "description" : "The drive's cache mode", | |
10677 | "enum" : [ | |
10678 | "none", | |
10679 | "writethrough", | |
10680 | "writeback", | |
10681 | "unsafe", | |
10682 | "directsync" | |
10683 | ], | |
44660702 DM |
10684 | "optional" : 1, |
10685 | "type" : "string" | |
10686 | }, | |
10687 | "cyls" : { | |
10688 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
10689 | "optional" : 1, |
10690 | "type" : "integer" | |
10691 | }, | |
10692 | "detect_zeroes" : { | |
10693 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
10694 | "optional" : 1, | |
10695 | "type" : "boolean" | |
10696 | }, | |
10697 | "discard" : { | |
10698 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
10699 | "enum" : [ | |
10700 | "ignore", | |
10701 | "on" | |
10702 | ], | |
56122987 | 10703 | "optional" : 1, |
44660702 DM |
10704 | "type" : "string" |
10705 | }, | |
10706 | "file" : { | |
10707 | "default_key" : 1, | |
10708 | "description" : "The drive's backing volume.", | |
10709 | "format" : "pve-volume-id-or-qm-path", | |
10710 | "format_description" : "volume", | |
10711 | "type" : "string" | |
56122987 | 10712 | }, |
7aacca6f | 10713 | "format" : { |
7aacca6f | 10714 | "description" : "The drive's backing file's data format.", |
56122987 | 10715 | "enum" : [ |
7aacca6f DM |
10716 | "raw", |
10717 | "cow", | |
10718 | "qcow", | |
10719 | "qed", | |
10720 | "qcow2", | |
10721 | "vmdk", | |
10722 | "cloop" | |
56122987 DM |
10723 | ], |
10724 | "optional" : 1, | |
56122987 DM |
10725 | "type" : "string" |
10726 | }, | |
44660702 DM |
10727 | "heads" : { |
10728 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
10729 | "optional" : 1, |
10730 | "type" : "integer" | |
7aacca6f | 10731 | }, |
44660702 | 10732 | "iops" : { |
de0983cb | 10733 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 10734 | "format_description" : "iops", |
56122987 | 10735 | "optional" : 1, |
44660702 | 10736 | "type" : "integer" |
56122987 | 10737 | }, |
44660702 | 10738 | "iops_max" : { |
de0983cb | 10739 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 10740 | "format_description" : "iops", |
56122987 | 10741 | "optional" : 1, |
44660702 | 10742 | "type" : "integer" |
56122987 | 10743 | }, |
de0983cb DM |
10744 | "iops_max_length" : { |
10745 | "description" : "Maximum length of I/O bursts in seconds.", | |
10746 | "format_description" : "seconds", | |
10747 | "minimum" : 1, | |
10748 | "optional" : 1, | |
10749 | "type" : "integer" | |
10750 | }, | |
44660702 | 10751 | "iops_rd" : { |
de0983cb | 10752 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
10753 | "format_description" : "iops", |
10754 | "optional" : 1, | |
10755 | "type" : "integer" | |
10756 | }, | |
de0983cb | 10757 | "iops_rd_length" : { |
5d9c884c | 10758 | "alias" : "iops_rd_max_length" |
de0983cb | 10759 | }, |
44660702 | 10760 | "iops_rd_max" : { |
de0983cb | 10761 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
7aacca6f | 10762 | "format_description" : "iops", |
44660702 DM |
10763 | "optional" : 1, |
10764 | "type" : "integer" | |
10765 | }, | |
5d9c884c DM |
10766 | "iops_rd_max_length" : { |
10767 | "description" : "Maximum length of read I/O bursts in seconds.", | |
10768 | "format_description" : "seconds", | |
10769 | "minimum" : 1, | |
10770 | "optional" : 1, | |
10771 | "type" : "integer" | |
10772 | }, | |
44660702 | 10773 | "iops_wr" : { |
de0983cb | 10774 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 10775 | "format_description" : "iops", |
56122987 | 10776 | "optional" : 1, |
7aacca6f | 10777 | "type" : "integer" |
56122987 | 10778 | }, |
de0983cb | 10779 | "iops_wr_length" : { |
5d9c884c | 10780 | "alias" : "iops_wr_max_length" |
de0983cb | 10781 | }, |
44660702 | 10782 | "iops_wr_max" : { |
de0983cb | 10783 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 10784 | "format_description" : "iops", |
7aacca6f | 10785 | "optional" : 1, |
44660702 | 10786 | "type" : "integer" |
56122987 | 10787 | }, |
5d9c884c DM |
10788 | "iops_wr_max_length" : { |
10789 | "description" : "Maximum length of write I/O bursts in seconds.", | |
10790 | "format_description" : "seconds", | |
10791 | "minimum" : 1, | |
10792 | "optional" : 1, | |
10793 | "type" : "integer" | |
10794 | }, | |
44660702 | 10795 | "mbps" : { |
de0983cb | 10796 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
10797 | "format_description" : "mbps", |
10798 | "optional" : 1, | |
10799 | "type" : "number" | |
10800 | }, | |
10801 | "mbps_max" : { | |
de0983cb | 10802 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
10803 | "format_description" : "mbps", |
10804 | "optional" : 1, | |
10805 | "type" : "number" | |
10806 | }, | |
10807 | "mbps_rd" : { | |
de0983cb | 10808 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
10809 | "format_description" : "mbps", |
10810 | "optional" : 1, | |
10811 | "type" : "number" | |
10812 | }, | |
10813 | "mbps_rd_max" : { | |
de0983cb | 10814 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
10815 | "format_description" : "mbps", |
10816 | "optional" : 1, | |
10817 | "type" : "number" | |
10818 | }, | |
10819 | "mbps_wr" : { | |
de0983cb | 10820 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
10821 | "format_description" : "mbps", |
10822 | "optional" : 1, | |
10823 | "type" : "number" | |
10824 | }, | |
10825 | "mbps_wr_max" : { | |
de0983cb | 10826 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 10827 | "format_description" : "mbps", |
56122987 | 10828 | "optional" : 1, |
44660702 | 10829 | "type" : "number" |
56122987 | 10830 | }, |
7aacca6f | 10831 | "media" : { |
7aacca6f | 10832 | "default" : "disk", |
7aacca6f DM |
10833 | "description" : "The drive's media type.", |
10834 | "enum" : [ | |
10835 | "cdrom", | |
10836 | "disk" | |
44660702 | 10837 | ], |
44660702 DM |
10838 | "optional" : 1, |
10839 | "type" : "string" | |
56122987 | 10840 | }, |
44660702 DM |
10841 | "model" : { |
10842 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", | |
10843 | "format" : "urlencoded", | |
10844 | "format_description" : "model", | |
10845 | "maxLength" : 120, | |
56122987 | 10846 | "optional" : 1, |
44660702 | 10847 | "type" : "string" |
56122987 | 10848 | }, |
5d9c884c DM |
10849 | "replicate" : { |
10850 | "default" : 1, | |
10851 | "description" : "Whether the drive should considered for replication jobs.", | |
10852 | "optional" : 1, | |
10853 | "type" : "boolean" | |
10854 | }, | |
44660702 DM |
10855 | "rerror" : { |
10856 | "description" : "Read error action.", | |
10857 | "enum" : [ | |
10858 | "ignore", | |
10859 | "report", | |
10860 | "stop" | |
10861 | ], | |
56122987 | 10862 | "optional" : 1, |
44660702 DM |
10863 | "type" : "string" |
10864 | }, | |
10865 | "secs" : { | |
10866 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
10867 | "optional" : 1, |
10868 | "type" : "integer" | |
10869 | }, | |
10870 | "serial" : { | |
10871 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
10872 | "format" : "urlencoded", | |
10873 | "format_description" : "serial", | |
10874 | "maxLength" : 60, | |
10875 | "optional" : 1, | |
10876 | "type" : "string" | |
10877 | }, | |
27a7acb2 DM |
10878 | "shared" : { |
10879 | "default" : 0, | |
10880 | "description" : "Mark this locally-managed volume as available on all nodes", | |
10881 | "optional" : 1, | |
10882 | "type" : "boolean", | |
10883 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
10884 | }, | |
44660702 DM |
10885 | "size" : { |
10886 | "description" : "Disk size. This is purely informational and has no effect.", | |
10887 | "format" : "disk-size", | |
f004f5b9 | 10888 | "format_description" : "DiskSize", |
44660702 DM |
10889 | "optional" : 1, |
10890 | "type" : "string" | |
10891 | }, | |
10892 | "snapshot" : { | |
27a7acb2 | 10893 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
44660702 DM |
10894 | "optional" : 1, |
10895 | "type" : "boolean" | |
10896 | }, | |
25203dc1 NC |
10897 | "ssd" : { |
10898 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
10899 | "optional" : 1, | |
10900 | "type" : "boolean" | |
10901 | }, | |
44660702 DM |
10902 | "trans" : { |
10903 | "description" : "Force disk geometry bios translation mode.", | |
10904 | "enum" : [ | |
10905 | "none", | |
10906 | "lba", | |
10907 | "auto" | |
10908 | ], | |
44660702 DM |
10909 | "optional" : 1, |
10910 | "type" : "string" | |
10911 | }, | |
10912 | "volume" : { | |
10913 | "alias" : "file" | |
10914 | }, | |
10915 | "werror" : { | |
10916 | "description" : "Write error action.", | |
10917 | "enum" : [ | |
10918 | "enospc", | |
10919 | "ignore", | |
10920 | "report", | |
10921 | "stop" | |
10922 | ], | |
44660702 DM |
10923 | "optional" : 1, |
10924 | "type" : "string" | |
95895385 TL |
10925 | }, |
10926 | "wwn" : { | |
10927 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
10928 | "format_description" : "wwn", | |
10929 | "optional" : 1, | |
10930 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
10931 | "type" : "string" | |
56122987 DM |
10932 | } |
10933 | }, | |
44660702 | 10934 | "optional" : 1, |
4d47f125 | 10935 | "type" : "string" |
27a7acb2 DM |
10936 | }, |
10937 | "ipconfig[n]" : { | |
10938 | "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n", | |
10939 | "format" : "pve-qm-ipconfig", | |
10940 | "optional" : 1, | |
4d47f125 | 10941 | "type" : "string" |
56122987 | 10942 | }, |
95895385 TL |
10943 | "ivshmem" : { |
10944 | "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.", | |
10945 | "format" : { | |
10946 | "name" : { | |
10947 | "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.", | |
10948 | "format_description" : "string", | |
10949 | "optional" : 1, | |
10950 | "pattern" : "[a-zA-Z0-9\\-]+", | |
10951 | "type" : "string" | |
10952 | }, | |
10953 | "size" : { | |
10954 | "description" : "The size of the file in MB.", | |
10955 | "minimum" : 1, | |
10956 | "type" : "integer" | |
10957 | } | |
10958 | }, | |
10959 | "optional" : 1, | |
10960 | "type" : "string" | |
10961 | }, | |
44660702 | 10962 | "keyboard" : { |
35a75dd3 | 10963 | "default" : null, |
5da3d723 | 10964 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.", |
44660702 DM |
10965 | "enum" : [ |
10966 | "de", | |
10967 | "de-ch", | |
10968 | "da", | |
10969 | "en-gb", | |
10970 | "en-us", | |
10971 | "es", | |
10972 | "fi", | |
10973 | "fr", | |
10974 | "fr-be", | |
10975 | "fr-ca", | |
10976 | "fr-ch", | |
10977 | "hu", | |
10978 | "is", | |
10979 | "it", | |
10980 | "ja", | |
10981 | "lt", | |
10982 | "mk", | |
10983 | "nl", | |
10984 | "no", | |
10985 | "pl", | |
10986 | "pt", | |
10987 | "pt-br", | |
10988 | "sv", | |
10989 | "sl", | |
10990 | "tr" | |
10991 | ], | |
56122987 | 10992 | "optional" : 1, |
44660702 DM |
10993 | "type" : "string" |
10994 | }, | |
10995 | "kvm" : { | |
7aacca6f | 10996 | "default" : 1, |
44660702 DM |
10997 | "description" : "Enable/disable KVM hardware virtualization.", |
10998 | "optional" : 1, | |
4d47f125 | 10999 | "type" : "boolean" |
56122987 | 11000 | }, |
44660702 DM |
11001 | "localtime" : { |
11002 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
56122987 | 11003 | "optional" : 1, |
4d47f125 | 11004 | "type" : "boolean" |
56122987 | 11005 | }, |
44660702 DM |
11006 | "lock" : { |
11007 | "description" : "Lock/unlock the VM.", | |
11008 | "enum" : [ | |
44660702 | 11009 | "backup", |
5f26e15b TL |
11010 | "clone", |
11011 | "create", | |
11012 | "migrate", | |
11013 | "rollback", | |
44660702 | 11014 | "snapshot", |
95895385 TL |
11015 | "snapshot-delete", |
11016 | "suspending", | |
11017 | "suspended" | |
44660702 | 11018 | ], |
7aacca6f | 11019 | "optional" : 1, |
44660702 DM |
11020 | "type" : "string" |
11021 | }, | |
11022 | "machine" : { | |
4d47f125 | 11023 | "description" : "Specifies the Qemu machine type.", |
44660702 DM |
11024 | "maxLength" : 40, |
11025 | "optional" : 1, | |
5c1699e5 | 11026 | "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", |
44660702 DM |
11027 | "type" : "string" |
11028 | }, | |
11029 | "memory" : { | |
11030 | "default" : 512, | |
11031 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
11032 | "minimum" : 16, | |
11033 | "optional" : 1, | |
4d47f125 | 11034 | "type" : "integer" |
44660702 DM |
11035 | }, |
11036 | "migrate_downtime" : { | |
11037 | "default" : 0.1, | |
11038 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
11039 | "minimum" : 0, | |
11040 | "optional" : 1, | |
4d47f125 | 11041 | "type" : "number" |
44660702 DM |
11042 | }, |
11043 | "migrate_speed" : { | |
11044 | "default" : 0, | |
11045 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", | |
11046 | "minimum" : 0, | |
11047 | "optional" : 1, | |
4d47f125 | 11048 | "type" : "integer" |
44660702 DM |
11049 | }, |
11050 | "name" : { | |
11051 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
11052 | "format" : "dns-name", | |
11053 | "optional" : 1, | |
4d47f125 | 11054 | "type" : "string" |
44660702 | 11055 | }, |
27a7acb2 DM |
11056 | "nameserver" : { |
11057 | "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
11058 | "format" : "address-list", | |
11059 | "optional" : 1, | |
4d47f125 | 11060 | "type" : "string" |
27a7acb2 | 11061 | }, |
44660702 | 11062 | "net[n]" : { |
c2993fe5 | 11063 | "description" : "Specify network devices.", |
f004f5b9 DM |
11064 | "format" : { |
11065 | "bridge" : { | |
c2993fe5 | 11066 | "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 |
11067 | "format_description" : "bridge", |
11068 | "optional" : 1, | |
c5aa7e14 | 11069 | "pattern" : "[-_.\\w\\d]+", |
f004f5b9 DM |
11070 | "type" : "string" |
11071 | }, | |
11072 | "e1000" : { | |
11073 | "alias" : "macaddr", | |
11074 | "keyAlias" : "model" | |
11075 | }, | |
11076 | "e1000-82540em" : { | |
11077 | "alias" : "macaddr", | |
11078 | "keyAlias" : "model" | |
11079 | }, | |
11080 | "e1000-82544gc" : { | |
11081 | "alias" : "macaddr", | |
11082 | "keyAlias" : "model" | |
11083 | }, | |
11084 | "e1000-82545em" : { | |
11085 | "alias" : "macaddr", | |
11086 | "keyAlias" : "model" | |
11087 | }, | |
11088 | "firewall" : { | |
11089 | "description" : "Whether this interface should be protected by the firewall.", | |
11090 | "optional" : 1, | |
11091 | "type" : "boolean" | |
11092 | }, | |
11093 | "i82551" : { | |
11094 | "alias" : "macaddr", | |
11095 | "keyAlias" : "model" | |
11096 | }, | |
11097 | "i82557b" : { | |
11098 | "alias" : "macaddr", | |
11099 | "keyAlias" : "model" | |
11100 | }, | |
11101 | "i82559er" : { | |
11102 | "alias" : "macaddr", | |
11103 | "keyAlias" : "model" | |
11104 | }, | |
11105 | "link_down" : { | |
c2993fe5 | 11106 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
11107 | "optional" : 1, |
11108 | "type" : "boolean" | |
11109 | }, | |
11110 | "macaddr" : { | |
c2993fe5 | 11111 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
95895385 | 11112 | "format" : "mac-addr", |
f004f5b9 | 11113 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 | 11114 | "optional" : 1, |
95895385 TL |
11115 | "type" : "string", |
11116 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
f004f5b9 DM |
11117 | }, |
11118 | "model" : { | |
11119 | "default_key" : 1, | |
c2993fe5 | 11120 | "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 |
11121 | "enum" : [ |
11122 | "rtl8139", | |
11123 | "ne2k_pci", | |
11124 | "e1000", | |
11125 | "pcnet", | |
11126 | "virtio", | |
11127 | "ne2k_isa", | |
11128 | "i82551", | |
11129 | "i82557b", | |
11130 | "i82559er", | |
11131 | "vmxnet3", | |
11132 | "e1000-82540em", | |
11133 | "e1000-82544gc", | |
11134 | "e1000-82545em" | |
11135 | ], | |
f004f5b9 DM |
11136 | "type" : "string" |
11137 | }, | |
11138 | "ne2k_isa" : { | |
11139 | "alias" : "macaddr", | |
11140 | "keyAlias" : "model" | |
11141 | }, | |
11142 | "ne2k_pci" : { | |
11143 | "alias" : "macaddr", | |
11144 | "keyAlias" : "model" | |
11145 | }, | |
11146 | "pcnet" : { | |
11147 | "alias" : "macaddr", | |
11148 | "keyAlias" : "model" | |
11149 | }, | |
11150 | "queues" : { | |
11151 | "description" : "Number of packet queues to be used on the device.", | |
11152 | "maximum" : 16, | |
11153 | "minimum" : 0, | |
11154 | "optional" : 1, | |
11155 | "type" : "integer" | |
11156 | }, | |
11157 | "rate" : { | |
c2993fe5 | 11158 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
11159 | "minimum" : 0, |
11160 | "optional" : 1, | |
11161 | "type" : "number" | |
11162 | }, | |
11163 | "rtl8139" : { | |
11164 | "alias" : "macaddr", | |
11165 | "keyAlias" : "model" | |
11166 | }, | |
11167 | "tag" : { | |
11168 | "description" : "VLAN tag to apply to packets on this interface.", | |
11169 | "maximum" : 4094, | |
c2993fe5 | 11170 | "minimum" : 1, |
f004f5b9 DM |
11171 | "optional" : 1, |
11172 | "type" : "integer" | |
11173 | }, | |
11174 | "trunks" : { | |
11175 | "description" : "VLAN trunks to pass through this interface.", | |
11176 | "format_description" : "vlanid[;vlanid...]", | |
11177 | "optional" : 1, | |
11178 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
11179 | "type" : "string" | |
11180 | }, | |
11181 | "virtio" : { | |
11182 | "alias" : "macaddr", | |
11183 | "keyAlias" : "model" | |
11184 | }, | |
11185 | "vmxnet3" : { | |
11186 | "alias" : "macaddr", | |
11187 | "keyAlias" : "model" | |
11188 | } | |
11189 | }, | |
44660702 | 11190 | "optional" : 1, |
4d47f125 | 11191 | "type" : "string" |
44660702 DM |
11192 | }, |
11193 | "numa" : { | |
11194 | "default" : 0, | |
11195 | "description" : "Enable/disable NUMA.", | |
11196 | "optional" : 1, | |
4d47f125 | 11197 | "type" : "boolean" |
44660702 DM |
11198 | }, |
11199 | "numa[n]" : { | |
c2993fe5 | 11200 | "description" : "NUMA topology.", |
56122987 | 11201 | "format" : { |
7aacca6f | 11202 | "cpus" : { |
c2993fe5 | 11203 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
11204 | "format_description" : "id[-id];...", |
11205 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
11206 | "type" : "string" | |
7aacca6f DM |
11207 | }, |
11208 | "hostnodes" : { | |
c2993fe5 | 11209 | "description" : "Host NUMA nodes to use.", |
44660702 | 11210 | "format_description" : "id[-id];...", |
7aacca6f | 11211 | "optional" : 1, |
7aacca6f | 11212 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", |
44660702 | 11213 | "type" : "string" |
7aacca6f | 11214 | }, |
44660702 | 11215 | "memory" : { |
c2993fe5 | 11216 | "description" : "Amount of memory this NUMA node provides.", |
7aacca6f | 11217 | "optional" : 1, |
44660702 DM |
11218 | "type" : "number" |
11219 | }, | |
11220 | "policy" : { | |
c2993fe5 | 11221 | "description" : "NUMA allocation policy.", |
7aacca6f DM |
11222 | "enum" : [ |
11223 | "preferred", | |
11224 | "bind", | |
11225 | "interleave" | |
11226 | ], | |
44660702 DM |
11227 | "optional" : 1, |
11228 | "type" : "string" | |
56122987 | 11229 | } |
44660702 | 11230 | }, |
56122987 | 11231 | "optional" : 1, |
4d47f125 | 11232 | "type" : "string" |
56122987 | 11233 | }, |
44660702 | 11234 | "onboot" : { |
7aacca6f | 11235 | "default" : 0, |
44660702 DM |
11236 | "description" : "Specifies whether a VM will be started during system bootup.", |
11237 | "optional" : 1, | |
4d47f125 | 11238 | "type" : "boolean" |
7aacca6f DM |
11239 | }, |
11240 | "ostype" : { | |
c2993fe5 | 11241 | "description" : "Specify guest operating system.", |
7aacca6f DM |
11242 | "enum" : [ |
11243 | "other", | |
11244 | "wxp", | |
11245 | "w2k", | |
11246 | "w2k3", | |
11247 | "w2k8", | |
11248 | "wvista", | |
11249 | "win7", | |
11250 | "win8", | |
32d876b5 | 11251 | "win10", |
7aacca6f DM |
11252 | "l24", |
11253 | "l26", | |
11254 | "solaris" | |
11255 | ], | |
7aacca6f | 11256 | "optional" : 1, |
c2993fe5 | 11257 | "type" : "string", |
5c1699e5 | 11258 | "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/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" |
56122987 | 11259 | }, |
44660702 | 11260 | "parallel[n]" : { |
c2993fe5 | 11261 | "description" : "Map host parallel devices (n is 0 to 2).", |
7aacca6f | 11262 | "optional" : 1, |
44660702 | 11263 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
11264 | "type" : "string", |
11265 | "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 |
11266 | }, |
11267 | "protection" : { | |
11268 | "default" : 0, | |
c2993fe5 | 11269 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
7aacca6f | 11270 | "optional" : 1, |
4d47f125 | 11271 | "type" : "boolean" |
7aacca6f | 11272 | }, |
44660702 DM |
11273 | "reboot" : { |
11274 | "default" : 1, | |
11275 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", | |
7aacca6f | 11276 | "optional" : 1, |
4d47f125 | 11277 | "type" : "boolean" |
44660702 | 11278 | }, |
c5aa7e14 TL |
11279 | "rng0" : { |
11280 | "description" : "Configure a VirtIO-based Random Number Generator.", | |
11281 | "format" : { | |
11282 | "max_bytes" : { | |
11283 | "default" : 1024, | |
11284 | "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).", | |
11285 | "optional" : 1, | |
11286 | "type" : "integer" | |
11287 | }, | |
11288 | "period" : { | |
11289 | "default" : 1000, | |
11290 | "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.", | |
11291 | "optional" : 1, | |
11292 | "type" : "integer" | |
11293 | }, | |
11294 | "source" : { | |
11295 | "default_key" : 1, | |
11296 | "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.", | |
11297 | "enum" : [ | |
11298 | "/dev/urandom", | |
11299 | "/dev/random", | |
11300 | "/dev/hwrng" | |
11301 | ], | |
11302 | "type" : "string" | |
11303 | } | |
11304 | }, | |
11305 | "optional" : 1, | |
11306 | "type" : "string" | |
11307 | }, | |
44660702 DM |
11308 | "sata[n]" : { |
11309 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", | |
56122987 | 11310 | "format" : { |
44660702 DM |
11311 | "aio" : { |
11312 | "description" : "AIO type to use.", | |
7aacca6f | 11313 | "enum" : [ |
44660702 DM |
11314 | "native", |
11315 | "threads" | |
7aacca6f | 11316 | ], |
44660702 DM |
11317 | "optional" : 1, |
11318 | "type" : "string" | |
7aacca6f | 11319 | }, |
44660702 DM |
11320 | "backup" : { |
11321 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 11322 | "optional" : 1, |
7aacca6f | 11323 | "type" : "boolean" |
44660702 DM |
11324 | }, |
11325 | "bps" : { | |
de0983cb | 11326 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 11327 | "format_description" : "bps", |
7aacca6f | 11328 | "optional" : 1, |
44660702 | 11329 | "type" : "integer" |
56122987 | 11330 | }, |
de0983cb DM |
11331 | "bps_max_length" : { |
11332 | "description" : "Maximum length of I/O bursts in seconds.", | |
11333 | "format_description" : "seconds", | |
11334 | "minimum" : 1, | |
11335 | "optional" : 1, | |
11336 | "type" : "integer" | |
11337 | }, | |
44660702 | 11338 | "bps_rd" : { |
de0983cb | 11339 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 11340 | "format_description" : "bps", |
56122987 | 11341 | "optional" : 1, |
44660702 | 11342 | "type" : "integer" |
56122987 | 11343 | }, |
de0983cb | 11344 | "bps_rd_length" : { |
5d9c884c DM |
11345 | "alias" : "bps_rd_max_length" |
11346 | }, | |
11347 | "bps_rd_max_length" : { | |
de0983cb DM |
11348 | "description" : "Maximum length of read I/O bursts in seconds.", |
11349 | "format_description" : "seconds", | |
11350 | "minimum" : 1, | |
11351 | "optional" : 1, | |
11352 | "type" : "integer" | |
11353 | }, | |
44660702 | 11354 | "bps_wr" : { |
de0983cb | 11355 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 11356 | "format_description" : "bps", |
56122987 | 11357 | "optional" : 1, |
44660702 | 11358 | "type" : "integer" |
56122987 | 11359 | }, |
de0983cb | 11360 | "bps_wr_length" : { |
5d9c884c DM |
11361 | "alias" : "bps_wr_max_length" |
11362 | }, | |
11363 | "bps_wr_max_length" : { | |
de0983cb DM |
11364 | "description" : "Maximum length of write I/O bursts in seconds.", |
11365 | "format_description" : "seconds", | |
11366 | "minimum" : 1, | |
11367 | "optional" : 1, | |
11368 | "type" : "integer" | |
11369 | }, | |
56122987 | 11370 | "cache" : { |
44660702 | 11371 | "description" : "The drive's cache mode", |
56122987 DM |
11372 | "enum" : [ |
11373 | "none", | |
11374 | "writethrough", | |
11375 | "writeback", | |
11376 | "unsafe", | |
11377 | "directsync" | |
11378 | ], | |
56122987 | 11379 | "optional" : 1, |
44660702 | 11380 | "type" : "string" |
56122987 | 11381 | }, |
44660702 DM |
11382 | "cyls" : { |
11383 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 11384 | "optional" : 1, |
44660702 | 11385 | "type" : "integer" |
7aacca6f DM |
11386 | }, |
11387 | "detect_zeroes" : { | |
11388 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 11389 | "optional" : 1, |
44660702 | 11390 | "type" : "boolean" |
56122987 | 11391 | }, |
44660702 DM |
11392 | "discard" : { |
11393 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
11394 | "enum" : [ | |
11395 | "ignore", | |
11396 | "on" | |
11397 | ], | |
56122987 | 11398 | "optional" : 1, |
44660702 | 11399 | "type" : "string" |
7aacca6f | 11400 | }, |
44660702 DM |
11401 | "file" : { |
11402 | "default_key" : 1, | |
11403 | "description" : "The drive's backing volume.", | |
11404 | "format" : "pve-volume-id-or-qm-path", | |
11405 | "format_description" : "volume", | |
11406 | "type" : "string" | |
56122987 | 11407 | }, |
7aacca6f | 11408 | "format" : { |
44660702 | 11409 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
11410 | "enum" : [ |
11411 | "raw", | |
11412 | "cow", | |
11413 | "qcow", | |
11414 | "qed", | |
11415 | "qcow2", | |
11416 | "vmdk", | |
11417 | "cloop" | |
11418 | ], | |
7aacca6f | 11419 | "optional" : 1, |
44660702 | 11420 | "type" : "string" |
56122987 | 11421 | }, |
7aacca6f | 11422 | "heads" : { |
7aacca6f | 11423 | "description" : "Force the drive's physical geometry to have a specific head count.", |
56122987 | 11424 | "optional" : 1, |
7aacca6f | 11425 | "type" : "integer" |
56122987 | 11426 | }, |
44660702 | 11427 | "iops" : { |
de0983cb | 11428 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 11429 | "format_description" : "iops", |
56122987 | 11430 | "optional" : 1, |
44660702 | 11431 | "type" : "integer" |
56122987 | 11432 | }, |
44660702 | 11433 | "iops_max" : { |
de0983cb | 11434 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 11435 | "format_description" : "iops", |
56122987 | 11436 | "optional" : 1, |
44660702 | 11437 | "type" : "integer" |
56122987 | 11438 | }, |
de0983cb DM |
11439 | "iops_max_length" : { |
11440 | "description" : "Maximum length of I/O bursts in seconds.", | |
11441 | "format_description" : "seconds", | |
11442 | "minimum" : 1, | |
11443 | "optional" : 1, | |
11444 | "type" : "integer" | |
11445 | }, | |
44660702 | 11446 | "iops_rd" : { |
de0983cb | 11447 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 11448 | "format_description" : "iops", |
7aacca6f | 11449 | "optional" : 1, |
44660702 | 11450 | "type" : "integer" |
56122987 | 11451 | }, |
de0983cb | 11452 | "iops_rd_length" : { |
5d9c884c | 11453 | "alias" : "iops_rd_max_length" |
de0983cb | 11454 | }, |
44660702 | 11455 | "iops_rd_max" : { |
de0983cb | 11456 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 11457 | "format_description" : "iops", |
56122987 | 11458 | "optional" : 1, |
44660702 | 11459 | "type" : "integer" |
7aacca6f | 11460 | }, |
5d9c884c DM |
11461 | "iops_rd_max_length" : { |
11462 | "description" : "Maximum length of read I/O bursts in seconds.", | |
11463 | "format_description" : "seconds", | |
11464 | "minimum" : 1, | |
11465 | "optional" : 1, | |
11466 | "type" : "integer" | |
11467 | }, | |
44660702 | 11468 | "iops_wr" : { |
de0983cb | 11469 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 11470 | "format_description" : "iops", |
56122987 | 11471 | "optional" : 1, |
44660702 | 11472 | "type" : "integer" |
56122987 | 11473 | }, |
de0983cb | 11474 | "iops_wr_length" : { |
5d9c884c | 11475 | "alias" : "iops_wr_max_length" |
de0983cb | 11476 | }, |
56122987 | 11477 | "iops_wr_max" : { |
de0983cb | 11478 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 11479 | "format_description" : "iops", |
56122987 | 11480 | "optional" : 1, |
44660702 | 11481 | "type" : "integer" |
56122987 | 11482 | }, |
5d9c884c DM |
11483 | "iops_wr_max_length" : { |
11484 | "description" : "Maximum length of write I/O bursts in seconds.", | |
11485 | "format_description" : "seconds", | |
11486 | "minimum" : 1, | |
11487 | "optional" : 1, | |
11488 | "type" : "integer" | |
11489 | }, | |
44660702 | 11490 | "mbps" : { |
de0983cb | 11491 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 11492 | "format_description" : "mbps", |
56122987 | 11493 | "optional" : 1, |
44660702 | 11494 | "type" : "number" |
56122987 | 11495 | }, |
44660702 | 11496 | "mbps_max" : { |
de0983cb | 11497 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
11498 | "format_description" : "mbps", |
11499 | "optional" : 1, | |
11500 | "type" : "number" | |
56122987 | 11501 | }, |
44660702 | 11502 | "mbps_rd" : { |
de0983cb | 11503 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 11504 | "format_description" : "mbps", |
56122987 | 11505 | "optional" : 1, |
44660702 | 11506 | "type" : "number" |
56122987 | 11507 | }, |
44660702 | 11508 | "mbps_rd_max" : { |
de0983cb | 11509 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 11510 | "format_description" : "mbps", |
56122987 | 11511 | "optional" : 1, |
44660702 | 11512 | "type" : "number" |
56122987 | 11513 | }, |
44660702 | 11514 | "mbps_wr" : { |
de0983cb | 11515 | "description" : "Maximum write speed in megabytes per second.", |
56122987 | 11516 | "format_description" : "mbps", |
44660702 DM |
11517 | "optional" : 1, |
11518 | "type" : "number" | |
56122987 | 11519 | }, |
44660702 | 11520 | "mbps_wr_max" : { |
de0983cb | 11521 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
11522 | "format_description" : "mbps", |
11523 | "optional" : 1, | |
11524 | "type" : "number" | |
7aacca6f | 11525 | }, |
44660702 DM |
11526 | "media" : { |
11527 | "default" : "disk", | |
11528 | "description" : "The drive's media type.", | |
11529 | "enum" : [ | |
11530 | "cdrom", | |
11531 | "disk" | |
11532 | ], | |
56122987 | 11533 | "optional" : 1, |
44660702 DM |
11534 | "type" : "string" |
11535 | }, | |
5d9c884c DM |
11536 | "replicate" : { |
11537 | "default" : 1, | |
11538 | "description" : "Whether the drive should considered for replication jobs.", | |
11539 | "optional" : 1, | |
11540 | "type" : "boolean" | |
11541 | }, | |
44660702 DM |
11542 | "rerror" : { |
11543 | "description" : "Read error action.", | |
7aacca6f | 11544 | "enum" : [ |
44660702 DM |
11545 | "ignore", |
11546 | "report", | |
11547 | "stop" | |
11548 | ], | |
7aacca6f | 11549 | "optional" : 1, |
44660702 | 11550 | "type" : "string" |
56122987 | 11551 | }, |
44660702 DM |
11552 | "secs" : { |
11553 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 11554 | "optional" : 1, |
44660702 | 11555 | "type" : "integer" |
56122987 | 11556 | }, |
44660702 DM |
11557 | "serial" : { |
11558 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
11559 | "format" : "urlencoded", | |
11560 | "format_description" : "serial", | |
11561 | "maxLength" : 60, | |
56122987 | 11562 | "optional" : 1, |
44660702 | 11563 | "type" : "string" |
56122987 | 11564 | }, |
27a7acb2 DM |
11565 | "shared" : { |
11566 | "default" : 0, | |
11567 | "description" : "Mark this locally-managed volume as available on all nodes", | |
11568 | "optional" : 1, | |
11569 | "type" : "boolean", | |
11570 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
11571 | }, | |
44660702 DM |
11572 | "size" : { |
11573 | "description" : "Disk size. This is purely informational and has no effect.", | |
11574 | "format" : "disk-size", | |
f004f5b9 | 11575 | "format_description" : "DiskSize", |
44660702 DM |
11576 | "optional" : 1, |
11577 | "type" : "string" | |
11578 | }, | |
11579 | "snapshot" : { | |
27a7acb2 | 11580 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 11581 | "optional" : 1, |
44660702 DM |
11582 | "type" : "boolean" |
11583 | }, | |
25203dc1 NC |
11584 | "ssd" : { |
11585 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
11586 | "optional" : 1, | |
11587 | "type" : "boolean" | |
11588 | }, | |
44660702 DM |
11589 | "trans" : { |
11590 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 11591 | "enum" : [ |
7aacca6f DM |
11592 | "none", |
11593 | "lba", | |
11594 | "auto" | |
56122987 | 11595 | ], |
44660702 DM |
11596 | "optional" : 1, |
11597 | "type" : "string" | |
56122987 | 11598 | }, |
7aacca6f DM |
11599 | "volume" : { |
11600 | "alias" : "file" | |
56122987 | 11601 | }, |
44660702 DM |
11602 | "werror" : { |
11603 | "description" : "Write error action.", | |
11604 | "enum" : [ | |
11605 | "enospc", | |
11606 | "ignore", | |
11607 | "report", | |
11608 | "stop" | |
11609 | ], | |
7aacca6f | 11610 | "optional" : 1, |
44660702 | 11611 | "type" : "string" |
95895385 TL |
11612 | }, |
11613 | "wwn" : { | |
11614 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
11615 | "format_description" : "wwn", | |
11616 | "optional" : 1, | |
11617 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
11618 | "type" : "string" | |
44660702 DM |
11619 | } |
11620 | }, | |
11621 | "optional" : 1, | |
4d47f125 | 11622 | "type" : "string" |
44660702 DM |
11623 | }, |
11624 | "scsi[n]" : { | |
e9cd3bd4 | 11625 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).", |
44660702 | 11626 | "format" : { |
56122987 | 11627 | "aio" : { |
56122987 DM |
11628 | "description" : "AIO type to use.", |
11629 | "enum" : [ | |
11630 | "native", | |
11631 | "threads" | |
11632 | ], | |
7aacca6f | 11633 | "optional" : 1, |
44660702 | 11634 | "type" : "string" |
56122987 | 11635 | }, |
44660702 DM |
11636 | "backup" : { |
11637 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 11638 | "optional" : 1, |
44660702 | 11639 | "type" : "boolean" |
56122987 | 11640 | }, |
44660702 | 11641 | "bps" : { |
de0983cb | 11642 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 11643 | "format_description" : "bps", |
56122987 | 11644 | "optional" : 1, |
44660702 | 11645 | "type" : "integer" |
56122987 | 11646 | }, |
de0983cb DM |
11647 | "bps_max_length" : { |
11648 | "description" : "Maximum length of I/O bursts in seconds.", | |
11649 | "format_description" : "seconds", | |
11650 | "minimum" : 1, | |
11651 | "optional" : 1, | |
11652 | "type" : "integer" | |
11653 | }, | |
44660702 | 11654 | "bps_rd" : { |
de0983cb | 11655 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 11656 | "format_description" : "bps", |
56122987 | 11657 | "optional" : 1, |
44660702 | 11658 | "type" : "integer" |
56122987 | 11659 | }, |
de0983cb | 11660 | "bps_rd_length" : { |
5d9c884c DM |
11661 | "alias" : "bps_rd_max_length" |
11662 | }, | |
11663 | "bps_rd_max_length" : { | |
de0983cb DM |
11664 | "description" : "Maximum length of read I/O bursts in seconds.", |
11665 | "format_description" : "seconds", | |
11666 | "minimum" : 1, | |
11667 | "optional" : 1, | |
11668 | "type" : "integer" | |
11669 | }, | |
7aacca6f | 11670 | "bps_wr" : { |
de0983cb | 11671 | "description" : "Maximum write speed in bytes per second.", |
7aacca6f | 11672 | "format_description" : "bps", |
56122987 | 11673 | "optional" : 1, |
44660702 | 11674 | "type" : "integer" |
56122987 | 11675 | }, |
de0983cb | 11676 | "bps_wr_length" : { |
5d9c884c DM |
11677 | "alias" : "bps_wr_max_length" |
11678 | }, | |
11679 | "bps_wr_max_length" : { | |
de0983cb DM |
11680 | "description" : "Maximum length of write I/O bursts in seconds.", |
11681 | "format_description" : "seconds", | |
11682 | "minimum" : 1, | |
11683 | "optional" : 1, | |
11684 | "type" : "integer" | |
11685 | }, | |
44660702 DM |
11686 | "cache" : { |
11687 | "description" : "The drive's cache mode", | |
7aacca6f | 11688 | "enum" : [ |
44660702 DM |
11689 | "none", |
11690 | "writethrough", | |
11691 | "writeback", | |
11692 | "unsafe", | |
11693 | "directsync" | |
7aacca6f | 11694 | ], |
56122987 | 11695 | "optional" : 1, |
44660702 | 11696 | "type" : "string" |
56122987 | 11697 | }, |
44660702 DM |
11698 | "cyls" : { |
11699 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 11700 | "optional" : 1, |
44660702 | 11701 | "type" : "integer" |
56122987 | 11702 | }, |
44660702 DM |
11703 | "detect_zeroes" : { |
11704 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 11705 | "optional" : 1, |
44660702 | 11706 | "type" : "boolean" |
56122987 | 11707 | }, |
44660702 DM |
11708 | "discard" : { |
11709 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
11710 | "enum" : [ | |
11711 | "ignore", | |
11712 | "on" | |
11713 | ], | |
7aacca6f | 11714 | "optional" : 1, |
44660702 | 11715 | "type" : "string" |
56122987 | 11716 | }, |
44660702 DM |
11717 | "file" : { |
11718 | "default_key" : 1, | |
11719 | "description" : "The drive's backing volume.", | |
11720 | "format" : "pve-volume-id-or-qm-path", | |
11721 | "format_description" : "volume", | |
11722 | "type" : "string" | |
56122987 | 11723 | }, |
7aacca6f | 11724 | "format" : { |
44660702 | 11725 | "description" : "The drive's backing file's data format.", |
56122987 | 11726 | "enum" : [ |
7aacca6f DM |
11727 | "raw", |
11728 | "cow", | |
11729 | "qcow", | |
11730 | "qed", | |
11731 | "qcow2", | |
11732 | "vmdk", | |
11733 | "cloop" | |
11734 | ], | |
44660702 DM |
11735 | "optional" : 1, |
11736 | "type" : "string" | |
56122987 | 11737 | }, |
44660702 DM |
11738 | "heads" : { |
11739 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 11740 | "optional" : 1, |
7aacca6f | 11741 | "type" : "integer" |
56122987 | 11742 | }, |
44660702 | 11743 | "iops" : { |
de0983cb | 11744 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 11745 | "format_description" : "iops", |
44660702 DM |
11746 | "optional" : 1, |
11747 | "type" : "integer" | |
7aacca6f | 11748 | }, |
44660702 | 11749 | "iops_max" : { |
de0983cb | 11750 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 11751 | "format_description" : "iops", |
56122987 | 11752 | "optional" : 1, |
44660702 | 11753 | "type" : "integer" |
7aacca6f | 11754 | }, |
de0983cb DM |
11755 | "iops_max_length" : { |
11756 | "description" : "Maximum length of I/O bursts in seconds.", | |
11757 | "format_description" : "seconds", | |
11758 | "minimum" : 1, | |
11759 | "optional" : 1, | |
11760 | "type" : "integer" | |
11761 | }, | |
44660702 | 11762 | "iops_rd" : { |
de0983cb | 11763 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 11764 | "format_description" : "iops", |
7aacca6f | 11765 | "optional" : 1, |
44660702 | 11766 | "type" : "integer" |
56122987 | 11767 | }, |
de0983cb | 11768 | "iops_rd_length" : { |
5d9c884c | 11769 | "alias" : "iops_rd_max_length" |
de0983cb | 11770 | }, |
44660702 | 11771 | "iops_rd_max" : { |
de0983cb | 11772 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
11773 | "format_description" : "iops", |
11774 | "optional" : 1, | |
11775 | "type" : "integer" | |
11776 | }, | |
5d9c884c DM |
11777 | "iops_rd_max_length" : { |
11778 | "description" : "Maximum length of read I/O bursts in seconds.", | |
11779 | "format_description" : "seconds", | |
11780 | "minimum" : 1, | |
11781 | "optional" : 1, | |
11782 | "type" : "integer" | |
11783 | }, | |
44660702 | 11784 | "iops_wr" : { |
de0983cb | 11785 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 11786 | "format_description" : "iops", |
56122987 | 11787 | "optional" : 1, |
44660702 DM |
11788 | "type" : "integer" |
11789 | }, | |
de0983cb | 11790 | "iops_wr_length" : { |
5d9c884c | 11791 | "alias" : "iops_wr_max_length" |
de0983cb | 11792 | }, |
44660702 | 11793 | "iops_wr_max" : { |
de0983cb | 11794 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
11795 | "format_description" : "iops", |
11796 | "optional" : 1, | |
11797 | "type" : "integer" | |
56122987 | 11798 | }, |
5d9c884c DM |
11799 | "iops_wr_max_length" : { |
11800 | "description" : "Maximum length of write I/O bursts in seconds.", | |
11801 | "format_description" : "seconds", | |
11802 | "minimum" : 1, | |
11803 | "optional" : 1, | |
11804 | "type" : "integer" | |
11805 | }, | |
7aacca6f | 11806 | "iothread" : { |
7aacca6f | 11807 | "description" : "Whether to use iothreads for this drive", |
56122987 | 11808 | "optional" : 1, |
56122987 DM |
11809 | "type" : "boolean" |
11810 | }, | |
44660702 | 11811 | "mbps" : { |
de0983cb | 11812 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
11813 | "format_description" : "mbps", |
11814 | "optional" : 1, | |
11815 | "type" : "number" | |
11816 | }, | |
11817 | "mbps_max" : { | |
de0983cb | 11818 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
11819 | "format_description" : "mbps", |
11820 | "optional" : 1, | |
11821 | "type" : "number" | |
11822 | }, | |
11823 | "mbps_rd" : { | |
de0983cb | 11824 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
11825 | "format_description" : "mbps", |
11826 | "optional" : 1, | |
11827 | "type" : "number" | |
11828 | }, | |
11829 | "mbps_rd_max" : { | |
de0983cb | 11830 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
11831 | "format_description" : "mbps", |
11832 | "optional" : 1, | |
11833 | "type" : "number" | |
11834 | }, | |
11835 | "mbps_wr" : { | |
de0983cb | 11836 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
11837 | "format_description" : "mbps", |
11838 | "optional" : 1, | |
11839 | "type" : "number" | |
11840 | }, | |
11841 | "mbps_wr_max" : { | |
de0983cb | 11842 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
11843 | "format_description" : "mbps", |
11844 | "optional" : 1, | |
11845 | "type" : "number" | |
11846 | }, | |
7aacca6f | 11847 | "media" : { |
44660702 DM |
11848 | "default" : "disk", |
11849 | "description" : "The drive's media type.", | |
7aacca6f DM |
11850 | "enum" : [ |
11851 | "cdrom", | |
11852 | "disk" | |
11853 | ], | |
56122987 | 11854 | "optional" : 1, |
44660702 DM |
11855 | "type" : "string" |
11856 | }, | |
11857 | "queues" : { | |
11858 | "description" : "Number of queues.", | |
44660702 DM |
11859 | "minimum" : 2, |
11860 | "optional" : 1, | |
11861 | "type" : "integer" | |
11862 | }, | |
5d9c884c DM |
11863 | "replicate" : { |
11864 | "default" : 1, | |
11865 | "description" : "Whether the drive should considered for replication jobs.", | |
11866 | "optional" : 1, | |
11867 | "type" : "boolean" | |
11868 | }, | |
11869 | "rerror" : { | |
11870 | "description" : "Read error action.", | |
11871 | "enum" : [ | |
11872 | "ignore", | |
11873 | "report", | |
11874 | "stop" | |
11875 | ], | |
11876 | "optional" : 1, | |
11877 | "type" : "string" | |
11878 | }, | |
52e44c50 FG |
11879 | "scsiblock" : { |
11880 | "default" : 0, | |
11881 | "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host", | |
11882 | "optional" : 1, | |
11883 | "type" : "boolean" | |
11884 | }, | |
44660702 DM |
11885 | "secs" : { |
11886 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
11887 | "optional" : 1, |
11888 | "type" : "integer" | |
11889 | }, | |
11890 | "serial" : { | |
11891 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
11892 | "format" : "urlencoded", | |
11893 | "format_description" : "serial", | |
11894 | "maxLength" : 60, | |
11895 | "optional" : 1, | |
11896 | "type" : "string" | |
11897 | }, | |
27a7acb2 DM |
11898 | "shared" : { |
11899 | "default" : 0, | |
11900 | "description" : "Mark this locally-managed volume as available on all nodes", | |
11901 | "optional" : 1, | |
11902 | "type" : "boolean", | |
11903 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
11904 | }, | |
44660702 DM |
11905 | "size" : { |
11906 | "description" : "Disk size. This is purely informational and has no effect.", | |
11907 | "format" : "disk-size", | |
f004f5b9 | 11908 | "format_description" : "DiskSize", |
44660702 DM |
11909 | "optional" : 1, |
11910 | "type" : "string" | |
56122987 | 11911 | }, |
7aacca6f | 11912 | "snapshot" : { |
27a7acb2 | 11913 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
7aacca6f | 11914 | "optional" : 1, |
44660702 | 11915 | "type" : "boolean" |
7aacca6f | 11916 | }, |
25203dc1 NC |
11917 | "ssd" : { |
11918 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
11919 | "optional" : 1, | |
11920 | "type" : "boolean" | |
11921 | }, | |
44660702 DM |
11922 | "trans" : { |
11923 | "description" : "Force disk geometry bios translation mode.", | |
11924 | "enum" : [ | |
11925 | "none", | |
11926 | "lba", | |
11927 | "auto" | |
11928 | ], | |
44660702 DM |
11929 | "optional" : 1, |
11930 | "type" : "string" | |
11931 | }, | |
11932 | "volume" : { | |
11933 | "alias" : "file" | |
11934 | }, | |
11935 | "werror" : { | |
11936 | "description" : "Write error action.", | |
11937 | "enum" : [ | |
11938 | "enospc", | |
11939 | "ignore", | |
11940 | "report", | |
11941 | "stop" | |
11942 | ], | |
56122987 | 11943 | "optional" : 1, |
44660702 | 11944 | "type" : "string" |
95895385 TL |
11945 | }, |
11946 | "wwn" : { | |
11947 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
11948 | "format_description" : "wwn", | |
11949 | "optional" : 1, | |
11950 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
11951 | "type" : "string" | |
56122987 | 11952 | } |
44660702 | 11953 | }, |
7aacca6f | 11954 | "optional" : 1, |
4d47f125 | 11955 | "type" : "string" |
44660702 DM |
11956 | }, |
11957 | "scsihw" : { | |
11958 | "default" : "lsi", | |
c2993fe5 | 11959 | "description" : "SCSI controller model", |
7aacca6f | 11960 | "enum" : [ |
44660702 DM |
11961 | "lsi", |
11962 | "lsi53c810", | |
11963 | "virtio-scsi-pci", | |
11964 | "virtio-scsi-single", | |
11965 | "megasas", | |
11966 | "pvscsi" | |
7aacca6f | 11967 | ], |
44660702 DM |
11968 | "optional" : 1, |
11969 | "type" : "string" | |
56122987 | 11970 | }, |
27a7acb2 DM |
11971 | "searchdomain" : { |
11972 | "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
11973 | "optional" : 1, | |
4d47f125 | 11974 | "type" : "string" |
27a7acb2 | 11975 | }, |
44660702 | 11976 | "serial[n]" : { |
c2993fe5 | 11977 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
7aacca6f | 11978 | "optional" : 1, |
44660702 | 11979 | "pattern" : "(/dev/.+|socket)", |
c2993fe5 | 11980 | "type" : "string", |
57b78691 | 11981 | "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 | 11982 | }, |
44660702 DM |
11983 | "shares" : { |
11984 | "default" : 1000, | |
5da3d723 | 11985 | "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. Auto-ballooning is done by pvestatd.", |
44660702 DM |
11986 | "maximum" : 50000, |
11987 | "minimum" : 0, | |
56122987 | 11988 | "optional" : 1, |
4d47f125 | 11989 | "type" : "integer" |
56122987 | 11990 | }, |
44660702 DM |
11991 | "smbios1" : { |
11992 | "description" : "Specify SMBIOS type 1 fields.", | |
11993 | "format" : "pve-qm-smbios1", | |
1e3f8156 | 11994 | "maxLength" : 512, |
56122987 | 11995 | "optional" : 1, |
4d47f125 | 11996 | "type" : "string" |
56122987 | 11997 | }, |
44660702 DM |
11998 | "smp" : { |
11999 | "default" : 1, | |
12000 | "description" : "The number of CPUs. Please use option -sockets instead.", | |
7aacca6f | 12001 | "minimum" : 1, |
7aacca6f | 12002 | "optional" : 1, |
4d47f125 | 12003 | "type" : "integer" |
7aacca6f | 12004 | }, |
44660702 DM |
12005 | "sockets" : { |
12006 | "default" : 1, | |
12007 | "description" : "The number of CPU sockets.", | |
12008 | "minimum" : 1, | |
7aacca6f | 12009 | "optional" : 1, |
4d47f125 | 12010 | "type" : "integer" |
56122987 | 12011 | }, |
1c532546 TL |
12012 | "spice_enhancements" : { |
12013 | "description" : "Configure additional enhancements for SPICE.", | |
12014 | "format" : { | |
12015 | "foldersharing" : { | |
12016 | "default" : "0", | |
12017 | "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.", | |
12018 | "optional" : 1, | |
12019 | "type" : "boolean" | |
12020 | }, | |
12021 | "videostreaming" : { | |
12022 | "default" : "off", | |
12023 | "description" : "Enable video streaming. Uses compression for detected video streams.", | |
12024 | "enum" : [ | |
12025 | "off", | |
12026 | "all", | |
12027 | "filter" | |
12028 | ], | |
12029 | "optional" : 1, | |
12030 | "type" : "string" | |
12031 | } | |
12032 | }, | |
12033 | "optional" : 1, | |
12034 | "type" : "string" | |
12035 | }, | |
27a7acb2 DM |
12036 | "sshkeys" : { |
12037 | "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).", | |
12038 | "format" : "urlencoded", | |
12039 | "optional" : 1, | |
4d47f125 | 12040 | "type" : "string" |
27a7acb2 | 12041 | }, |
44660702 DM |
12042 | "startdate" : { |
12043 | "default" : "now", | |
12044 | "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 | 12045 | "optional" : 1, |
44660702 | 12046 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", |
7aacca6f | 12047 | "type" : "string", |
44660702 | 12048 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" |
56122987 | 12049 | }, |
7aacca6f | 12050 | "startup" : { |
7aacca6f | 12051 | "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 | 12052 | "format" : "pve-startup-order", |
56122987 | 12053 | "optional" : 1, |
44660702 DM |
12054 | "type" : "string", |
12055 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
56122987 | 12056 | }, |
44660702 | 12057 | "tablet" : { |
7aacca6f | 12058 | "default" : 1, |
c2993fe5 | 12059 | "description" : "Enable/disable the USB tablet device.", |
7aacca6f | 12060 | "optional" : 1, |
c2993fe5 DM |
12061 | "type" : "boolean", |
12062 | "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 | 12063 | }, |
5c1699e5 TL |
12064 | "tags" : { |
12065 | "description" : "Tags of the VM. This is only meta information.", | |
12066 | "format" : "pve-tag-list", | |
12067 | "optional" : 1, | |
12068 | "type" : "string" | |
12069 | }, | |
44660702 DM |
12070 | "tdf" : { |
12071 | "default" : 0, | |
12072 | "description" : "Enable/disable time drift fix.", | |
7aacca6f | 12073 | "optional" : 1, |
4d47f125 | 12074 | "type" : "boolean" |
7aacca6f | 12075 | }, |
44660702 DM |
12076 | "template" : { |
12077 | "default" : 0, | |
12078 | "description" : "Enable/disable Template.", | |
7aacca6f | 12079 | "optional" : 1, |
4d47f125 | 12080 | "type" : "boolean" |
7aacca6f | 12081 | }, |
44660702 | 12082 | "unused[n]" : { |
c2993fe5 | 12083 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
c5aa7e14 TL |
12084 | "format" : { |
12085 | "file" : { | |
12086 | "default_key" : 1, | |
12087 | "description" : "The drive's backing volume.", | |
12088 | "format" : "pve-volume-id", | |
12089 | "format_description" : "volume", | |
12090 | "type" : "string" | |
12091 | }, | |
12092 | "volume" : { | |
12093 | "alias" : "file" | |
12094 | } | |
12095 | }, | |
7aacca6f | 12096 | "optional" : 1, |
4d47f125 | 12097 | "type" : "string" |
7aacca6f | 12098 | }, |
44660702 | 12099 | "usb[n]" : { |
c2993fe5 | 12100 | "description" : "Configure an USB device (n is 0 to 4).", |
44660702 DM |
12101 | "format" : { |
12102 | "host" : { | |
12103 | "default_key" : 1, | |
c2993fe5 | 12104 | "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 |
12105 | "format" : "pve-qm-usb-device", |
12106 | "format_description" : "HOSTUSBDEVICE|spice", | |
12107 | "type" : "string" | |
12108 | }, | |
12109 | "usb3" : { | |
c2993fe5 | 12110 | "default" : 0, |
1c532546 | 12111 | "description" : "Specifies whether if given host option is a USB3 device or port.", |
44660702 DM |
12112 | "optional" : 1, |
12113 | "type" : "boolean" | |
12114 | } | |
12115 | }, | |
7aacca6f | 12116 | "optional" : 1, |
4d47f125 | 12117 | "type" : "string" |
56122987 | 12118 | }, |
44660702 DM |
12119 | "vcpus" : { |
12120 | "default" : 0, | |
12121 | "description" : "Number of hotplugged vcpus.", | |
12122 | "minimum" : 1, | |
56122987 | 12123 | "optional" : 1, |
4d47f125 | 12124 | "type" : "integer" |
56122987 | 12125 | }, |
44660702 | 12126 | "vga" : { |
e2d681b3 TL |
12127 | "description" : "Configure the VGA hardware.", |
12128 | "format" : { | |
12129 | "memory" : { | |
12130 | "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.", | |
12131 | "maximum" : 512, | |
12132 | "minimum" : 4, | |
12133 | "optional" : 1, | |
12134 | "type" : "integer" | |
12135 | }, | |
12136 | "type" : { | |
12137 | "default" : "std", | |
12138 | "default_key" : 1, | |
12139 | "description" : "Select the VGA type.", | |
12140 | "enum" : [ | |
12141 | "cirrus", | |
12142 | "qxl", | |
12143 | "qxl2", | |
12144 | "qxl3", | |
12145 | "qxl4", | |
5f26e15b | 12146 | "none", |
e2d681b3 TL |
12147 | "serial0", |
12148 | "serial1", | |
12149 | "serial2", | |
12150 | "serial3", | |
12151 | "std", | |
12152 | "virtio", | |
12153 | "vmware" | |
12154 | ], | |
12155 | "optional" : 1, | |
12156 | "type" : "string" | |
12157 | } | |
12158 | }, | |
56122987 | 12159 | "optional" : 1, |
c2993fe5 | 12160 | "type" : "string", |
e2d681b3 | 12161 | "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal." |
56122987 | 12162 | }, |
44660702 DM |
12163 | "virtio[n]" : { |
12164 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
56122987 | 12165 | "format" : { |
44660702 DM |
12166 | "aio" : { |
12167 | "description" : "AIO type to use.", | |
56122987 | 12168 | "enum" : [ |
44660702 DM |
12169 | "native", |
12170 | "threads" | |
56122987 | 12171 | ], |
56122987 DM |
12172 | "optional" : 1, |
12173 | "type" : "string" | |
12174 | }, | |
44660702 DM |
12175 | "backup" : { |
12176 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
12177 | "optional" : 1, |
12178 | "type" : "boolean" | |
7aacca6f | 12179 | }, |
44660702 | 12180 | "bps" : { |
de0983cb | 12181 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
12182 | "format_description" : "bps", |
12183 | "optional" : 1, | |
12184 | "type" : "integer" | |
56122987 | 12185 | }, |
de0983cb DM |
12186 | "bps_max_length" : { |
12187 | "description" : "Maximum length of I/O bursts in seconds.", | |
12188 | "format_description" : "seconds", | |
12189 | "minimum" : 1, | |
12190 | "optional" : 1, | |
12191 | "type" : "integer" | |
12192 | }, | |
44660702 | 12193 | "bps_rd" : { |
de0983cb | 12194 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 12195 | "format_description" : "bps", |
56122987 | 12196 | "optional" : 1, |
44660702 | 12197 | "type" : "integer" |
56122987 | 12198 | }, |
de0983cb | 12199 | "bps_rd_length" : { |
5d9c884c DM |
12200 | "alias" : "bps_rd_max_length" |
12201 | }, | |
12202 | "bps_rd_max_length" : { | |
de0983cb DM |
12203 | "description" : "Maximum length of read I/O bursts in seconds.", |
12204 | "format_description" : "seconds", | |
12205 | "minimum" : 1, | |
12206 | "optional" : 1, | |
12207 | "type" : "integer" | |
12208 | }, | |
44660702 | 12209 | "bps_wr" : { |
de0983cb | 12210 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 12211 | "format_description" : "bps", |
56122987 | 12212 | "optional" : 1, |
44660702 DM |
12213 | "type" : "integer" |
12214 | }, | |
de0983cb | 12215 | "bps_wr_length" : { |
5d9c884c DM |
12216 | "alias" : "bps_wr_max_length" |
12217 | }, | |
12218 | "bps_wr_max_length" : { | |
de0983cb DM |
12219 | "description" : "Maximum length of write I/O bursts in seconds.", |
12220 | "format_description" : "seconds", | |
12221 | "minimum" : 1, | |
12222 | "optional" : 1, | |
12223 | "type" : "integer" | |
12224 | }, | |
44660702 DM |
12225 | "cache" : { |
12226 | "description" : "The drive's cache mode", | |
56122987 | 12227 | "enum" : [ |
44660702 DM |
12228 | "none", |
12229 | "writethrough", | |
12230 | "writeback", | |
12231 | "unsafe", | |
12232 | "directsync" | |
56122987 | 12233 | ], |
56122987 | 12234 | "optional" : 1, |
44660702 | 12235 | "type" : "string" |
56122987 | 12236 | }, |
44660702 DM |
12237 | "cyls" : { |
12238 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
56122987 | 12239 | "optional" : 1, |
44660702 | 12240 | "type" : "integer" |
7aacca6f | 12241 | }, |
44660702 DM |
12242 | "detect_zeroes" : { |
12243 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
12244 | "optional" : 1, | |
12245 | "type" : "boolean" | |
7aacca6f | 12246 | }, |
44660702 DM |
12247 | "discard" : { |
12248 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
12249 | "enum" : [ | |
12250 | "ignore", | |
12251 | "on" | |
12252 | ], | |
56122987 | 12253 | "optional" : 1, |
44660702 | 12254 | "type" : "string" |
56122987 DM |
12255 | }, |
12256 | "file" : { | |
7aacca6f | 12257 | "default_key" : 1, |
44660702 | 12258 | "description" : "The drive's backing volume.", |
7aacca6f | 12259 | "format" : "pve-volume-id-or-qm-path", |
44660702 DM |
12260 | "format_description" : "volume", |
12261 | "type" : "string" | |
7aacca6f DM |
12262 | }, |
12263 | "format" : { | |
7aacca6f DM |
12264 | "description" : "The drive's backing file's data format.", |
12265 | "enum" : [ | |
12266 | "raw", | |
12267 | "cow", | |
12268 | "qcow", | |
12269 | "qed", | |
12270 | "qcow2", | |
12271 | "vmdk", | |
12272 | "cloop" | |
56122987 DM |
12273 | ], |
12274 | "optional" : 1, | |
56122987 DM |
12275 | "type" : "string" |
12276 | }, | |
44660702 DM |
12277 | "heads" : { |
12278 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 12279 | "optional" : 1, |
44660702 | 12280 | "type" : "integer" |
56122987 | 12281 | }, |
44660702 | 12282 | "iops" : { |
de0983cb | 12283 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 12284 | "format_description" : "iops", |
56122987 | 12285 | "optional" : 1, |
44660702 | 12286 | "type" : "integer" |
56122987 | 12287 | }, |
44660702 | 12288 | "iops_max" : { |
de0983cb | 12289 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 12290 | "format_description" : "iops", |
56122987 | 12291 | "optional" : 1, |
56122987 DM |
12292 | "type" : "integer" |
12293 | }, | |
de0983cb DM |
12294 | "iops_max_length" : { |
12295 | "description" : "Maximum length of I/O bursts in seconds.", | |
12296 | "format_description" : "seconds", | |
12297 | "minimum" : 1, | |
12298 | "optional" : 1, | |
12299 | "type" : "integer" | |
12300 | }, | |
44660702 | 12301 | "iops_rd" : { |
de0983cb | 12302 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 12303 | "format_description" : "iops", |
56122987 | 12304 | "optional" : 1, |
44660702 | 12305 | "type" : "integer" |
56122987 | 12306 | }, |
de0983cb | 12307 | "iops_rd_length" : { |
5d9c884c | 12308 | "alias" : "iops_rd_max_length" |
de0983cb | 12309 | }, |
44660702 | 12310 | "iops_rd_max" : { |
de0983cb | 12311 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 12312 | "format_description" : "iops", |
7aacca6f | 12313 | "optional" : 1, |
44660702 | 12314 | "type" : "integer" |
56122987 | 12315 | }, |
5d9c884c DM |
12316 | "iops_rd_max_length" : { |
12317 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12318 | "format_description" : "seconds", | |
12319 | "minimum" : 1, | |
12320 | "optional" : 1, | |
12321 | "type" : "integer" | |
12322 | }, | |
44660702 | 12323 | "iops_wr" : { |
de0983cb | 12324 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 12325 | "format_description" : "iops", |
7aacca6f | 12326 | "optional" : 1, |
44660702 | 12327 | "type" : "integer" |
56122987 | 12328 | }, |
de0983cb | 12329 | "iops_wr_length" : { |
5d9c884c | 12330 | "alias" : "iops_wr_max_length" |
de0983cb | 12331 | }, |
44660702 | 12332 | "iops_wr_max" : { |
de0983cb | 12333 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 12334 | "format_description" : "iops", |
56122987 DM |
12335 | "optional" : 1, |
12336 | "type" : "integer" | |
12337 | }, | |
5d9c884c DM |
12338 | "iops_wr_max_length" : { |
12339 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12340 | "format_description" : "seconds", | |
12341 | "minimum" : 1, | |
12342 | "optional" : 1, | |
12343 | "type" : "integer" | |
12344 | }, | |
44660702 DM |
12345 | "iothread" : { |
12346 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
12347 | "optional" : 1, |
12348 | "type" : "boolean" | |
12349 | }, | |
12350 | "mbps" : { | |
de0983cb | 12351 | "description" : "Maximum r/w speed in megabytes per second.", |
7aacca6f | 12352 | "format_description" : "mbps", |
44660702 DM |
12353 | "optional" : 1, |
12354 | "type" : "number" | |
12355 | }, | |
12356 | "mbps_max" : { | |
de0983cb | 12357 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
12358 | "format_description" : "mbps", |
12359 | "optional" : 1, | |
12360 | "type" : "number" | |
7aacca6f | 12361 | }, |
44660702 | 12362 | "mbps_rd" : { |
de0983cb | 12363 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 12364 | "format_description" : "mbps", |
56122987 | 12365 | "optional" : 1, |
44660702 | 12366 | "type" : "number" |
56122987 | 12367 | }, |
44660702 | 12368 | "mbps_rd_max" : { |
de0983cb | 12369 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 12370 | "format_description" : "mbps", |
7aacca6f | 12371 | "optional" : 1, |
44660702 | 12372 | "type" : "number" |
56122987 | 12373 | }, |
44660702 | 12374 | "mbps_wr" : { |
de0983cb | 12375 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 12376 | "format_description" : "mbps", |
56122987 | 12377 | "optional" : 1, |
44660702 | 12378 | "type" : "number" |
56122987 | 12379 | }, |
44660702 | 12380 | "mbps_wr_max" : { |
de0983cb | 12381 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 12382 | "format_description" : "mbps", |
56122987 | 12383 | "optional" : 1, |
44660702 | 12384 | "type" : "number" |
56122987 DM |
12385 | }, |
12386 | "media" : { | |
7aacca6f | 12387 | "default" : "disk", |
44660702 | 12388 | "description" : "The drive's media type.", |
56122987 DM |
12389 | "enum" : [ |
12390 | "cdrom", | |
12391 | "disk" | |
12392 | ], | |
44660702 DM |
12393 | "optional" : 1, |
12394 | "type" : "string" | |
56122987 | 12395 | }, |
5d9c884c DM |
12396 | "replicate" : { |
12397 | "default" : 1, | |
12398 | "description" : "Whether the drive should considered for replication jobs.", | |
12399 | "optional" : 1, | |
12400 | "type" : "boolean" | |
12401 | }, | |
7aacca6f | 12402 | "rerror" : { |
44660702 | 12403 | "description" : "Read error action.", |
56122987 | 12404 | "enum" : [ |
7aacca6f DM |
12405 | "ignore", |
12406 | "report", | |
12407 | "stop" | |
56122987 | 12408 | ], |
56122987 | 12409 | "optional" : 1, |
44660702 | 12410 | "type" : "string" |
56122987 | 12411 | }, |
44660702 DM |
12412 | "secs" : { |
12413 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
12414 | "optional" : 1, |
12415 | "type" : "integer" | |
12416 | }, | |
12417 | "serial" : { | |
12418 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
12419 | "format" : "urlencoded", | |
12420 | "format_description" : "serial", | |
12421 | "maxLength" : 60, | |
56122987 | 12422 | "optional" : 1, |
7aacca6f | 12423 | "type" : "string" |
56122987 | 12424 | }, |
27a7acb2 DM |
12425 | "shared" : { |
12426 | "default" : 0, | |
12427 | "description" : "Mark this locally-managed volume as available on all nodes", | |
12428 | "optional" : 1, | |
12429 | "type" : "boolean", | |
12430 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
12431 | }, | |
44660702 DM |
12432 | "size" : { |
12433 | "description" : "Disk size. This is purely informational and has no effect.", | |
12434 | "format" : "disk-size", | |
f004f5b9 | 12435 | "format_description" : "DiskSize", |
56122987 | 12436 | "optional" : 1, |
44660702 | 12437 | "type" : "string" |
56122987 | 12438 | }, |
44660702 | 12439 | "snapshot" : { |
27a7acb2 | 12440 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 12441 | "optional" : 1, |
44660702 | 12442 | "type" : "boolean" |
56122987 | 12443 | }, |
44660702 DM |
12444 | "trans" : { |
12445 | "description" : "Force disk geometry bios translation mode.", | |
12446 | "enum" : [ | |
12447 | "none", | |
12448 | "lba", | |
12449 | "auto" | |
12450 | ], | |
44660702 DM |
12451 | "optional" : 1, |
12452 | "type" : "string" | |
12453 | }, | |
12454 | "volume" : { | |
12455 | "alias" : "file" | |
12456 | }, | |
12457 | "werror" : { | |
12458 | "description" : "Write error action.", | |
12459 | "enum" : [ | |
12460 | "enospc", | |
12461 | "ignore", | |
12462 | "report", | |
12463 | "stop" | |
12464 | ], | |
56122987 | 12465 | "optional" : 1, |
44660702 | 12466 | "type" : "string" |
56122987 | 12467 | } |
44660702 | 12468 | }, |
56122987 | 12469 | "optional" : 1, |
4d47f125 | 12470 | "type" : "string" |
56122987 | 12471 | }, |
4d47f125 TL |
12472 | "vmgenid" : { |
12473 | "default" : "1 (autogenerated)", | |
12474 | "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.", | |
12475 | "format_description" : "UUID", | |
12476 | "optional" : 1, | |
12477 | "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])", | |
12478 | "type" : "string", | |
12479 | "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file." | |
56122987 | 12480 | }, |
2489d6df WB |
12481 | "vmstatestorage" : { |
12482 | "description" : "Default storage for VM state volumes/files.", | |
12483 | "format" : "pve-storage-id", | |
12484 | "optional" : 1, | |
4d47f125 | 12485 | "type" : "string" |
2489d6df | 12486 | }, |
44660702 | 12487 | "watchdog" : { |
c2993fe5 | 12488 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 12489 | "format" : "pve-qm-watchdog", |
56122987 | 12490 | "optional" : 1, |
c2993fe5 DM |
12491 | "type" : "string", |
12492 | "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 | 12493 | } |
4d47f125 TL |
12494 | }, |
12495 | "type" : "object" | |
44660702 | 12496 | } |
56122987 | 12497 | }, |
4d47f125 | 12498 | "POST" : { |
e9cd3bd4 | 12499 | "allowtoken" : 1, |
4d47f125 TL |
12500 | "description" : "Set virtual machine options (asynchrounous API).", |
12501 | "method" : "POST", | |
12502 | "name" : "update_vm_async", | |
56122987 | 12503 | "parameters" : { |
7aacca6f | 12504 | "additionalProperties" : 0, |
56122987 | 12505 | "properties" : { |
44660702 DM |
12506 | "acpi" : { |
12507 | "default" : 1, | |
12508 | "description" : "Enable/disable ACPI.", | |
7aacca6f | 12509 | "optional" : 1, |
013dc89f DM |
12510 | "type" : "boolean", |
12511 | "typetext" : "<boolean>" | |
7aacca6f | 12512 | }, |
44660702 | 12513 | "agent" : { |
4d47f125 TL |
12514 | "description" : "Enable/disable Qemu GuestAgent and its properties.", |
12515 | "format" : { | |
12516 | "enabled" : { | |
12517 | "default" : 0, | |
12518 | "default_key" : 1, | |
12519 | "description" : "Enable/disable Qemu GuestAgent.", | |
12520 | "type" : "boolean" | |
12521 | }, | |
12522 | "fstrim_cloned_disks" : { | |
12523 | "default" : 0, | |
12524 | "description" : "Run fstrim after cloning/moving a disk.", | |
12525 | "optional" : 1, | |
12526 | "type" : "boolean" | |
5c1699e5 TL |
12527 | }, |
12528 | "type" : { | |
12529 | "default" : "virtio", | |
12530 | "description" : "Select the agent type", | |
12531 | "enum" : [ | |
12532 | "virtio", | |
12533 | "isa" | |
12534 | ], | |
12535 | "optional" : 1, | |
12536 | "type" : "string" | |
4d47f125 TL |
12537 | } |
12538 | }, | |
7aacca6f | 12539 | "optional" : 1, |
4d47f125 | 12540 | "type" : "string", |
5c1699e5 | 12541 | "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]" |
56122987 | 12542 | }, |
e2d681b3 TL |
12543 | "arch" : { |
12544 | "description" : "Virtual processor architecture. Defaults to the host.", | |
12545 | "enum" : [ | |
12546 | "x86_64", | |
12547 | "aarch64" | |
12548 | ], | |
12549 | "optional" : 1, | |
12550 | "type" : "string" | |
12551 | }, | |
44660702 | 12552 | "args" : { |
c2993fe5 | 12553 | "description" : "Arbitrary arguments passed to kvm.", |
7aacca6f | 12554 | "optional" : 1, |
c2993fe5 | 12555 | "type" : "string", |
013dc89f | 12556 | "typetext" : "<string>", |
c2993fe5 | 12557 | "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 | 12558 | }, |
1c532546 TL |
12559 | "audio0" : { |
12560 | "description" : "Configure a audio device, useful in combination with QXL/Spice.", | |
12561 | "format" : { | |
12562 | "device" : { | |
12563 | "description" : "Configure an audio device.", | |
12564 | "enum" : [ | |
12565 | "ich9-intel-hda", | |
12566 | "intel-hda", | |
12567 | "AC97" | |
12568 | ], | |
12569 | "type" : "string" | |
12570 | }, | |
12571 | "driver" : { | |
12572 | "default" : "spice", | |
12573 | "description" : "Driver backend for the audio device.", | |
12574 | "enum" : [ | |
12575 | "spice" | |
12576 | ], | |
12577 | "optional" : 1, | |
12578 | "type" : "string" | |
12579 | } | |
12580 | }, | |
12581 | "optional" : 1, | |
12582 | "type" : "string", | |
12583 | "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]" | |
12584 | }, | |
44660702 DM |
12585 | "autostart" : { |
12586 | "default" : 0, | |
12587 | "description" : "Automatic restart after crash (currently ignored).", | |
7aacca6f | 12588 | "optional" : 1, |
013dc89f DM |
12589 | "type" : "boolean", |
12590 | "typetext" : "<boolean>" | |
7aacca6f | 12591 | }, |
4d47f125 TL |
12592 | "background_delay" : { |
12593 | "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.", | |
12594 | "maximum" : 30, | |
12595 | "minimum" : 1, | |
12596 | "optional" : 1, | |
12597 | "type" : "integer", | |
12598 | "typetext" : "<integer> (1 - 30)" | |
12599 | }, | |
44660702 DM |
12600 | "balloon" : { |
12601 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
12602 | "minimum" : 0, | |
12603 | "optional" : 1, | |
4bd7df8b | 12604 | "type" : "integer", |
013dc89f | 12605 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
12606 | }, |
12607 | "bios" : { | |
12608 | "default" : "seabios", | |
12609 | "description" : "Select BIOS implementation.", | |
7aacca6f | 12610 | "enum" : [ |
44660702 DM |
12611 | "seabios", |
12612 | "ovmf" | |
7aacca6f | 12613 | ], |
56122987 | 12614 | "optional" : 1, |
7aacca6f DM |
12615 | "type" : "string" |
12616 | }, | |
44660702 DM |
12617 | "boot" : { |
12618 | "default" : "cdn", | |
12619 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
7aacca6f | 12620 | "optional" : 1, |
44660702 DM |
12621 | "pattern" : "[acdn]{1,4}", |
12622 | "type" : "string" | |
56122987 | 12623 | }, |
44660702 DM |
12624 | "bootdisk" : { |
12625 | "description" : "Enable booting from specified disk.", | |
12626 | "format" : "pve-qm-bootdisk", | |
12627 | "optional" : 1, | |
12628 | "pattern" : "(ide|sata|scsi|virtio)\\d+", | |
12629 | "type" : "string" | |
12630 | }, | |
12631 | "cdrom" : { | |
12632 | "description" : "This is an alias for option -ide2", | |
de0983cb | 12633 | "format" : "pve-qm-ide", |
56122987 | 12634 | "optional" : 1, |
7aacca6f | 12635 | "type" : "string", |
013dc89f | 12636 | "typetext" : "<volume>" |
44660702 | 12637 | }, |
95895385 TL |
12638 | "cicustom" : { |
12639 | "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.", | |
12640 | "format" : "pve-qm-cicustom", | |
12641 | "optional" : 1, | |
12642 | "type" : "string", | |
12643 | "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]" | |
12644 | }, | |
27a7acb2 DM |
12645 | "cipassword" : { |
12646 | "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.", | |
12647 | "optional" : 1, | |
12648 | "type" : "string", | |
12649 | "typetext" : "<string>" | |
12650 | }, | |
12651 | "citype" : { | |
12652 | "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.", | |
12653 | "enum" : [ | |
12654 | "configdrive2", | |
12655 | "nocloud" | |
12656 | ], | |
12657 | "optional" : 1, | |
12658 | "type" : "string" | |
12659 | }, | |
12660 | "ciuser" : { | |
12661 | "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.", | |
12662 | "optional" : 1, | |
12663 | "type" : "string", | |
12664 | "typetext" : "<string>" | |
12665 | }, | |
44660702 DM |
12666 | "cores" : { |
12667 | "default" : 1, | |
12668 | "description" : "The number of cores per socket.", | |
12669 | "minimum" : 1, | |
12670 | "optional" : 1, | |
4bd7df8b | 12671 | "type" : "integer", |
013dc89f | 12672 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
12673 | }, |
12674 | "cpu" : { | |
12675 | "description" : "Emulated CPU type.", | |
c5aa7e14 | 12676 | "format" : "pve-vm-cpu-conf", |
44660702 | 12677 | "optional" : 1, |
4bd7df8b | 12678 | "type" : "string", |
c5aa7e14 | 12679 | "typetext" : "<string>" |
44660702 DM |
12680 | }, |
12681 | "cpulimit" : { | |
12682 | "default" : 0, | |
c2993fe5 | 12683 | "description" : "Limit of CPU usage.", |
44660702 DM |
12684 | "maximum" : 128, |
12685 | "minimum" : 0, | |
12686 | "optional" : 1, | |
c2993fe5 | 12687 | "type" : "number", |
013dc89f | 12688 | "typetext" : "<number> (0 - 128)", |
c2993fe5 | 12689 | "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 |
12690 | }, |
12691 | "cpuunits" : { | |
de0983cb | 12692 | "default" : 1024, |
c2993fe5 | 12693 | "description" : "CPU weight for a VM.", |
2489d6df WB |
12694 | "maximum" : 262144, |
12695 | "minimum" : 2, | |
44660702 | 12696 | "optional" : 1, |
c2993fe5 | 12697 | "type" : "integer", |
2489d6df WB |
12698 | "typetext" : "<integer> (2 - 262144)", |
12699 | "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." | |
44660702 DM |
12700 | }, |
12701 | "delete" : { | |
12702 | "description" : "A list of settings you want to delete.", | |
12703 | "format" : "pve-configid-list", | |
12704 | "optional" : 1, | |
013dc89f DM |
12705 | "type" : "string", |
12706 | "typetext" : "<string>" | |
44660702 DM |
12707 | }, |
12708 | "description" : { | |
12709 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
12710 | "optional" : 1, | |
013dc89f DM |
12711 | "type" : "string", |
12712 | "typetext" : "<string>" | |
44660702 DM |
12713 | }, |
12714 | "digest" : { | |
12715 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
12716 | "maxLength" : 40, | |
12717 | "optional" : 1, | |
013dc89f DM |
12718 | "type" : "string", |
12719 | "typetext" : "<string>" | |
44660702 | 12720 | }, |
4d47f125 TL |
12721 | "efidisk0" : { |
12722 | "description" : "Configure a Disk for storing EFI vars", | |
12723 | "format" : { | |
12724 | "file" : { | |
12725 | "default_key" : 1, | |
12726 | "description" : "The drive's backing volume.", | |
12727 | "format" : "pve-volume-id-or-qm-path", | |
12728 | "format_description" : "volume", | |
12729 | "type" : "string" | |
12730 | }, | |
12731 | "format" : { | |
12732 | "description" : "The drive's backing file's data format.", | |
12733 | "enum" : [ | |
12734 | "raw", | |
12735 | "cow", | |
12736 | "qcow", | |
12737 | "qed", | |
12738 | "qcow2", | |
12739 | "vmdk", | |
12740 | "cloop" | |
12741 | ], | |
12742 | "optional" : 1, | |
12743 | "type" : "string" | |
12744 | }, | |
12745 | "size" : { | |
12746 | "description" : "Disk size. This is purely informational and has no effect.", | |
12747 | "format" : "disk-size", | |
12748 | "format_description" : "DiskSize", | |
12749 | "optional" : 1, | |
12750 | "type" : "string" | |
12751 | }, | |
12752 | "volume" : { | |
12753 | "alias" : "file" | |
12754 | } | |
12755 | }, | |
12756 | "optional" : 1, | |
12757 | "type" : "string", | |
12758 | "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]" | |
12759 | }, | |
44660702 DM |
12760 | "force" : { |
12761 | "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.", | |
12762 | "optional" : 1, | |
12763 | "requires" : "delete", | |
013dc89f DM |
12764 | "type" : "boolean", |
12765 | "typetext" : "<boolean>" | |
44660702 DM |
12766 | }, |
12767 | "freeze" : { | |
12768 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
12769 | "optional" : 1, | |
013dc89f DM |
12770 | "type" : "boolean", |
12771 | "typetext" : "<boolean>" | |
44660702 | 12772 | }, |
5f26e15b TL |
12773 | "hookscript" : { |
12774 | "description" : "Script that will be executed during various steps in the vms lifetime.", | |
12775 | "format" : "pve-volume-id", | |
12776 | "optional" : 1, | |
12777 | "type" : "string", | |
12778 | "typetext" : "<string>" | |
12779 | }, | |
44660702 | 12780 | "hostpci[n]" : { |
c2993fe5 | 12781 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
12782 | "format" : "pve-qm-hostpci", |
12783 | "optional" : 1, | |
57b78691 | 12784 | "type" : "string", |
e2d681b3 | 12785 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]", |
bb4c8cf8 | 12786 | "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 | 12787 | }, |
7aacca6f | 12788 | "hotplug" : { |
7aacca6f | 12789 | "default" : "network,disk,usb", |
44660702 DM |
12790 | "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'.", |
12791 | "format" : "pve-hotplug-features", | |
56122987 | 12792 | "optional" : 1, |
013dc89f DM |
12793 | "type" : "string", |
12794 | "typetext" : "<string>" | |
56122987 | 12795 | }, |
4bd7df8b DM |
12796 | "hugepages" : { |
12797 | "description" : "Enable/disable hugepages memory.", | |
12798 | "enum" : [ | |
12799 | "any", | |
12800 | "2", | |
12801 | "1024" | |
12802 | ], | |
12803 | "optional" : 1, | |
12804 | "type" : "string" | |
12805 | }, | |
56122987 | 12806 | "ide[n]" : { |
7aacca6f | 12807 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", |
56122987 | 12808 | "format" : { |
44660702 DM |
12809 | "aio" : { |
12810 | "description" : "AIO type to use.", | |
12811 | "enum" : [ | |
12812 | "native", | |
12813 | "threads" | |
12814 | ], | |
56122987 | 12815 | "optional" : 1, |
44660702 | 12816 | "type" : "string" |
56122987 | 12817 | }, |
44660702 DM |
12818 | "backup" : { |
12819 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
12820 | "optional" : 1, |
12821 | "type" : "boolean" | |
12822 | }, | |
12823 | "bps" : { | |
de0983cb | 12824 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 12825 | "format_description" : "bps", |
56122987 | 12826 | "optional" : 1, |
44660702 | 12827 | "type" : "integer" |
56122987 | 12828 | }, |
de0983cb DM |
12829 | "bps_max_length" : { |
12830 | "description" : "Maximum length of I/O bursts in seconds.", | |
12831 | "format_description" : "seconds", | |
12832 | "minimum" : 1, | |
12833 | "optional" : 1, | |
12834 | "type" : "integer" | |
12835 | }, | |
44660702 | 12836 | "bps_rd" : { |
de0983cb | 12837 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 12838 | "format_description" : "bps", |
56122987 | 12839 | "optional" : 1, |
44660702 | 12840 | "type" : "integer" |
56122987 | 12841 | }, |
de0983cb | 12842 | "bps_rd_length" : { |
5d9c884c DM |
12843 | "alias" : "bps_rd_max_length" |
12844 | }, | |
12845 | "bps_rd_max_length" : { | |
de0983cb DM |
12846 | "description" : "Maximum length of read I/O bursts in seconds.", |
12847 | "format_description" : "seconds", | |
12848 | "minimum" : 1, | |
12849 | "optional" : 1, | |
12850 | "type" : "integer" | |
12851 | }, | |
7aacca6f | 12852 | "bps_wr" : { |
de0983cb | 12853 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
12854 | "format_description" : "bps", |
12855 | "optional" : 1, | |
12856 | "type" : "integer" | |
7aacca6f | 12857 | }, |
de0983cb | 12858 | "bps_wr_length" : { |
5d9c884c DM |
12859 | "alias" : "bps_wr_max_length" |
12860 | }, | |
12861 | "bps_wr_max_length" : { | |
de0983cb DM |
12862 | "description" : "Maximum length of write I/O bursts in seconds.", |
12863 | "format_description" : "seconds", | |
12864 | "minimum" : 1, | |
12865 | "optional" : 1, | |
12866 | "type" : "integer" | |
12867 | }, | |
44660702 DM |
12868 | "cache" : { |
12869 | "description" : "The drive's cache mode", | |
12870 | "enum" : [ | |
12871 | "none", | |
12872 | "writethrough", | |
12873 | "writeback", | |
12874 | "unsafe", | |
12875 | "directsync" | |
12876 | ], | |
56122987 | 12877 | "optional" : 1, |
44660702 DM |
12878 | "type" : "string" |
12879 | }, | |
12880 | "cyls" : { | |
12881 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
12882 | "optional" : 1, |
12883 | "type" : "integer" | |
12884 | }, | |
12885 | "detect_zeroes" : { | |
12886 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
12887 | "optional" : 1, | |
12888 | "type" : "boolean" | |
56122987 | 12889 | }, |
7aacca6f | 12890 | "discard" : { |
7aacca6f | 12891 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", |
56122987 | 12892 | "enum" : [ |
7aacca6f DM |
12893 | "ignore", |
12894 | "on" | |
56122987 DM |
12895 | ], |
12896 | "optional" : 1, | |
44660702 | 12897 | "type" : "string" |
7aacca6f | 12898 | }, |
44660702 DM |
12899 | "file" : { |
12900 | "default_key" : 1, | |
12901 | "description" : "The drive's backing volume.", | |
12902 | "format" : "pve-volume-id-or-qm-path", | |
12903 | "format_description" : "volume", | |
12904 | "type" : "string" | |
7aacca6f DM |
12905 | }, |
12906 | "format" : { | |
44660702 | 12907 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
12908 | "enum" : [ |
12909 | "raw", | |
12910 | "cow", | |
12911 | "qcow", | |
12912 | "qed", | |
12913 | "qcow2", | |
12914 | "vmdk", | |
12915 | "cloop" | |
12916 | ], | |
7aacca6f | 12917 | "optional" : 1, |
44660702 | 12918 | "type" : "string" |
56122987 | 12919 | }, |
7aacca6f | 12920 | "heads" : { |
44660702 | 12921 | "description" : "Force the drive's physical geometry to have a specific head count.", |
56122987 | 12922 | "optional" : 1, |
44660702 | 12923 | "type" : "integer" |
7aacca6f | 12924 | }, |
44660702 | 12925 | "iops" : { |
de0983cb | 12926 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 12927 | "format_description" : "iops", |
7aacca6f | 12928 | "optional" : 1, |
44660702 | 12929 | "type" : "integer" |
56122987 | 12930 | }, |
44660702 | 12931 | "iops_max" : { |
de0983cb | 12932 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 12933 | "format_description" : "iops", |
56122987 | 12934 | "optional" : 1, |
44660702 | 12935 | "type" : "integer" |
56122987 | 12936 | }, |
de0983cb DM |
12937 | "iops_max_length" : { |
12938 | "description" : "Maximum length of I/O bursts in seconds.", | |
12939 | "format_description" : "seconds", | |
12940 | "minimum" : 1, | |
12941 | "optional" : 1, | |
12942 | "type" : "integer" | |
12943 | }, | |
44660702 | 12944 | "iops_rd" : { |
de0983cb | 12945 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 12946 | "format_description" : "iops", |
56122987 | 12947 | "optional" : 1, |
44660702 | 12948 | "type" : "integer" |
7aacca6f | 12949 | }, |
de0983cb | 12950 | "iops_rd_length" : { |
5d9c884c | 12951 | "alias" : "iops_rd_max_length" |
de0983cb | 12952 | }, |
44660702 | 12953 | "iops_rd_max" : { |
de0983cb | 12954 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 12955 | "format_description" : "iops", |
7aacca6f | 12956 | "optional" : 1, |
44660702 | 12957 | "type" : "integer" |
7aacca6f | 12958 | }, |
5d9c884c DM |
12959 | "iops_rd_max_length" : { |
12960 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12961 | "format_description" : "seconds", | |
12962 | "minimum" : 1, | |
12963 | "optional" : 1, | |
12964 | "type" : "integer" | |
12965 | }, | |
44660702 | 12966 | "iops_wr" : { |
de0983cb | 12967 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 12968 | "format_description" : "iops", |
7aacca6f | 12969 | "optional" : 1, |
44660702 | 12970 | "type" : "integer" |
56122987 | 12971 | }, |
de0983cb | 12972 | "iops_wr_length" : { |
5d9c884c | 12973 | "alias" : "iops_wr_max_length" |
de0983cb | 12974 | }, |
44660702 | 12975 | "iops_wr_max" : { |
de0983cb | 12976 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 12977 | "format_description" : "iops", |
7aacca6f | 12978 | "optional" : 1, |
44660702 | 12979 | "type" : "integer" |
7aacca6f | 12980 | }, |
5d9c884c DM |
12981 | "iops_wr_max_length" : { |
12982 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12983 | "format_description" : "seconds", | |
12984 | "minimum" : 1, | |
12985 | "optional" : 1, | |
12986 | "type" : "integer" | |
12987 | }, | |
7aacca6f | 12988 | "mbps" : { |
de0983cb | 12989 | "description" : "Maximum r/w speed in megabytes per second.", |
7aacca6f | 12990 | "format_description" : "mbps", |
7aacca6f | 12991 | "optional" : 1, |
44660702 | 12992 | "type" : "number" |
7aacca6f | 12993 | }, |
44660702 | 12994 | "mbps_max" : { |
de0983cb | 12995 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 12996 | "format_description" : "mbps", |
7aacca6f | 12997 | "optional" : 1, |
44660702 | 12998 | "type" : "number" |
7aacca6f | 12999 | }, |
44660702 | 13000 | "mbps_rd" : { |
de0983cb | 13001 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 13002 | "format_description" : "mbps", |
7aacca6f | 13003 | "optional" : 1, |
44660702 | 13004 | "type" : "number" |
7aacca6f | 13005 | }, |
44660702 | 13006 | "mbps_rd_max" : { |
de0983cb | 13007 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
13008 | "format_description" : "mbps", |
13009 | "optional" : 1, | |
13010 | "type" : "number" | |
7aacca6f | 13011 | }, |
44660702 | 13012 | "mbps_wr" : { |
de0983cb | 13013 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 13014 | "format_description" : "mbps", |
7aacca6f | 13015 | "optional" : 1, |
44660702 DM |
13016 | "type" : "number" |
13017 | }, | |
13018 | "mbps_wr_max" : { | |
de0983cb | 13019 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
13020 | "format_description" : "mbps", |
13021 | "optional" : 1, | |
13022 | "type" : "number" | |
13023 | }, | |
13024 | "media" : { | |
13025 | "default" : "disk", | |
13026 | "description" : "The drive's media type.", | |
56122987 | 13027 | "enum" : [ |
44660702 DM |
13028 | "cdrom", |
13029 | "disk" | |
56122987 | 13030 | ], |
44660702 DM |
13031 | "optional" : 1, |
13032 | "type" : "string" | |
56122987 | 13033 | }, |
7aacca6f | 13034 | "model" : { |
44660702 | 13035 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", |
56122987 | 13036 | "format" : "urlencoded", |
7aacca6f | 13037 | "format_description" : "model", |
44660702 | 13038 | "maxLength" : 120, |
56122987 | 13039 | "optional" : 1, |
44660702 | 13040 | "type" : "string" |
56122987 | 13041 | }, |
5d9c884c DM |
13042 | "replicate" : { |
13043 | "default" : 1, | |
13044 | "description" : "Whether the drive should considered for replication jobs.", | |
13045 | "optional" : 1, | |
13046 | "type" : "boolean" | |
13047 | }, | |
44660702 DM |
13048 | "rerror" : { |
13049 | "description" : "Read error action.", | |
13050 | "enum" : [ | |
13051 | "ignore", | |
13052 | "report", | |
13053 | "stop" | |
13054 | ], | |
56122987 | 13055 | "optional" : 1, |
44660702 | 13056 | "type" : "string" |
56122987 | 13057 | }, |
44660702 DM |
13058 | "secs" : { |
13059 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
13060 | "optional" : 1, |
13061 | "type" : "integer" | |
56122987 | 13062 | }, |
44660702 DM |
13063 | "serial" : { |
13064 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
13065 | "format" : "urlencoded", | |
13066 | "format_description" : "serial", | |
13067 | "maxLength" : 60, | |
56122987 | 13068 | "optional" : 1, |
44660702 | 13069 | "type" : "string" |
56122987 | 13070 | }, |
27a7acb2 DM |
13071 | "shared" : { |
13072 | "default" : 0, | |
13073 | "description" : "Mark this locally-managed volume as available on all nodes", | |
13074 | "optional" : 1, | |
13075 | "type" : "boolean", | |
13076 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
13077 | }, | |
44660702 DM |
13078 | "size" : { |
13079 | "description" : "Disk size. This is purely informational and has no effect.", | |
13080 | "format" : "disk-size", | |
f004f5b9 | 13081 | "format_description" : "DiskSize", |
56122987 | 13082 | "optional" : 1, |
44660702 | 13083 | "type" : "string" |
56122987 | 13084 | }, |
44660702 | 13085 | "snapshot" : { |
27a7acb2 | 13086 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 13087 | "optional" : 1, |
44660702 | 13088 | "type" : "boolean" |
56122987 | 13089 | }, |
25203dc1 NC |
13090 | "ssd" : { |
13091 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
13092 | "optional" : 1, | |
13093 | "type" : "boolean" | |
13094 | }, | |
44660702 DM |
13095 | "trans" : { |
13096 | "description" : "Force disk geometry bios translation mode.", | |
13097 | "enum" : [ | |
13098 | "none", | |
13099 | "lba", | |
13100 | "auto" | |
13101 | ], | |
56122987 | 13102 | "optional" : 1, |
44660702 DM |
13103 | "type" : "string" |
13104 | }, | |
13105 | "volume" : { | |
13106 | "alias" : "file" | |
56122987 | 13107 | }, |
7aacca6f | 13108 | "werror" : { |
44660702 | 13109 | "description" : "Write error action.", |
7aacca6f DM |
13110 | "enum" : [ |
13111 | "enospc", | |
13112 | "ignore", | |
13113 | "report", | |
13114 | "stop" | |
13115 | ], | |
56122987 | 13116 | "optional" : 1, |
44660702 | 13117 | "type" : "string" |
95895385 TL |
13118 | }, |
13119 | "wwn" : { | |
13120 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
13121 | "format_description" : "wwn", | |
13122 | "optional" : 1, | |
13123 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
13124 | "type" : "string" | |
7aacca6f | 13125 | } |
44660702 DM |
13126 | }, |
13127 | "optional" : 1, | |
4bd7df8b | 13128 | "type" : "string", |
95895385 | 13129 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
27a7acb2 DM |
13130 | }, |
13131 | "ipconfig[n]" : { | |
13132 | "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n", | |
13133 | "format" : "pve-qm-ipconfig", | |
13134 | "optional" : 1, | |
13135 | "type" : "string", | |
13136 | "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]" | |
7aacca6f | 13137 | }, |
95895385 TL |
13138 | "ivshmem" : { |
13139 | "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.", | |
13140 | "format" : { | |
13141 | "name" : { | |
13142 | "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.", | |
13143 | "format_description" : "string", | |
13144 | "optional" : 1, | |
13145 | "pattern" : "[a-zA-Z0-9\\-]+", | |
13146 | "type" : "string" | |
13147 | }, | |
13148 | "size" : { | |
13149 | "description" : "The size of the file in MB.", | |
13150 | "minimum" : 1, | |
13151 | "type" : "integer" | |
13152 | } | |
13153 | }, | |
13154 | "optional" : 1, | |
13155 | "type" : "string", | |
13156 | "typetext" : "size=<integer> [,name=<string>]" | |
13157 | }, | |
44660702 | 13158 | "keyboard" : { |
35a75dd3 | 13159 | "default" : null, |
5da3d723 | 13160 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.", |
44660702 DM |
13161 | "enum" : [ |
13162 | "de", | |
13163 | "de-ch", | |
13164 | "da", | |
13165 | "en-gb", | |
13166 | "en-us", | |
13167 | "es", | |
13168 | "fi", | |
13169 | "fr", | |
13170 | "fr-be", | |
13171 | "fr-ca", | |
13172 | "fr-ch", | |
13173 | "hu", | |
13174 | "is", | |
13175 | "it", | |
13176 | "ja", | |
13177 | "lt", | |
13178 | "mk", | |
13179 | "nl", | |
13180 | "no", | |
13181 | "pl", | |
13182 | "pt", | |
13183 | "pt-br", | |
13184 | "sv", | |
13185 | "sl", | |
13186 | "tr" | |
13187 | ], | |
7aacca6f | 13188 | "optional" : 1, |
44660702 | 13189 | "type" : "string" |
7aacca6f | 13190 | }, |
44660702 | 13191 | "kvm" : { |
7aacca6f | 13192 | "default" : 1, |
44660702 | 13193 | "description" : "Enable/disable KVM hardware virtualization.", |
7aacca6f | 13194 | "optional" : 1, |
013dc89f DM |
13195 | "type" : "boolean", |
13196 | "typetext" : "<boolean>" | |
7aacca6f | 13197 | }, |
44660702 DM |
13198 | "localtime" : { |
13199 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
7aacca6f | 13200 | "optional" : 1, |
013dc89f DM |
13201 | "type" : "boolean", |
13202 | "typetext" : "<boolean>" | |
7aacca6f | 13203 | }, |
44660702 DM |
13204 | "lock" : { |
13205 | "description" : "Lock/unlock the VM.", | |
13206 | "enum" : [ | |
44660702 | 13207 | "backup", |
5f26e15b TL |
13208 | "clone", |
13209 | "create", | |
13210 | "migrate", | |
13211 | "rollback", | |
44660702 | 13212 | "snapshot", |
95895385 TL |
13213 | "snapshot-delete", |
13214 | "suspending", | |
13215 | "suspended" | |
44660702 | 13216 | ], |
7aacca6f | 13217 | "optional" : 1, |
44660702 | 13218 | "type" : "string" |
7aacca6f | 13219 | }, |
44660702 | 13220 | "machine" : { |
4d47f125 | 13221 | "description" : "Specifies the Qemu machine type.", |
44660702 | 13222 | "maxLength" : 40, |
7aacca6f | 13223 | "optional" : 1, |
5c1699e5 | 13224 | "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", |
44660702 | 13225 | "type" : "string" |
7aacca6f | 13226 | }, |
44660702 DM |
13227 | "memory" : { |
13228 | "default" : 512, | |
13229 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
13230 | "minimum" : 16, | |
7aacca6f | 13231 | "optional" : 1, |
4bd7df8b | 13232 | "type" : "integer", |
013dc89f | 13233 | "typetext" : "<integer> (16 - N)" |
7aacca6f | 13234 | }, |
44660702 DM |
13235 | "migrate_downtime" : { |
13236 | "default" : 0.1, | |
13237 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
13238 | "minimum" : 0, | |
7aacca6f | 13239 | "optional" : 1, |
4bd7df8b | 13240 | "type" : "number", |
013dc89f | 13241 | "typetext" : "<number> (0 - N)" |
7aacca6f | 13242 | }, |
44660702 | 13243 | "migrate_speed" : { |
7aacca6f | 13244 | "default" : 0, |
44660702 DM |
13245 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", |
13246 | "minimum" : 0, | |
13247 | "optional" : 1, | |
4bd7df8b | 13248 | "type" : "integer", |
013dc89f | 13249 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 13250 | }, |
44660702 DM |
13251 | "name" : { |
13252 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
13253 | "format" : "dns-name", | |
7aacca6f | 13254 | "optional" : 1, |
013dc89f DM |
13255 | "type" : "string", |
13256 | "typetext" : "<string>" | |
7aacca6f | 13257 | }, |
27a7acb2 DM |
13258 | "nameserver" : { |
13259 | "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
13260 | "format" : "address-list", | |
13261 | "optional" : 1, | |
13262 | "type" : "string", | |
13263 | "typetext" : "<string>" | |
13264 | }, | |
44660702 | 13265 | "net[n]" : { |
c2993fe5 | 13266 | "description" : "Specify network devices.", |
f004f5b9 DM |
13267 | "format" : { |
13268 | "bridge" : { | |
c2993fe5 | 13269 | "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 |
13270 | "format_description" : "bridge", |
13271 | "optional" : 1, | |
c5aa7e14 | 13272 | "pattern" : "[-_.\\w\\d]+", |
f004f5b9 DM |
13273 | "type" : "string" |
13274 | }, | |
13275 | "e1000" : { | |
13276 | "alias" : "macaddr", | |
13277 | "keyAlias" : "model" | |
13278 | }, | |
13279 | "e1000-82540em" : { | |
13280 | "alias" : "macaddr", | |
13281 | "keyAlias" : "model" | |
13282 | }, | |
13283 | "e1000-82544gc" : { | |
13284 | "alias" : "macaddr", | |
13285 | "keyAlias" : "model" | |
13286 | }, | |
13287 | "e1000-82545em" : { | |
13288 | "alias" : "macaddr", | |
13289 | "keyAlias" : "model" | |
13290 | }, | |
13291 | "firewall" : { | |
13292 | "description" : "Whether this interface should be protected by the firewall.", | |
13293 | "optional" : 1, | |
13294 | "type" : "boolean" | |
13295 | }, | |
13296 | "i82551" : { | |
13297 | "alias" : "macaddr", | |
13298 | "keyAlias" : "model" | |
13299 | }, | |
13300 | "i82557b" : { | |
13301 | "alias" : "macaddr", | |
13302 | "keyAlias" : "model" | |
13303 | }, | |
13304 | "i82559er" : { | |
13305 | "alias" : "macaddr", | |
13306 | "keyAlias" : "model" | |
13307 | }, | |
13308 | "link_down" : { | |
c2993fe5 | 13309 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
13310 | "optional" : 1, |
13311 | "type" : "boolean" | |
13312 | }, | |
13313 | "macaddr" : { | |
c2993fe5 | 13314 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
95895385 | 13315 | "format" : "mac-addr", |
f004f5b9 | 13316 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 | 13317 | "optional" : 1, |
95895385 TL |
13318 | "type" : "string", |
13319 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
f004f5b9 DM |
13320 | }, |
13321 | "model" : { | |
13322 | "default_key" : 1, | |
c2993fe5 | 13323 | "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 |
13324 | "enum" : [ |
13325 | "rtl8139", | |
13326 | "ne2k_pci", | |
13327 | "e1000", | |
13328 | "pcnet", | |
13329 | "virtio", | |
13330 | "ne2k_isa", | |
13331 | "i82551", | |
13332 | "i82557b", | |
13333 | "i82559er", | |
13334 | "vmxnet3", | |
13335 | "e1000-82540em", | |
13336 | "e1000-82544gc", | |
13337 | "e1000-82545em" | |
13338 | ], | |
f004f5b9 DM |
13339 | "type" : "string" |
13340 | }, | |
13341 | "ne2k_isa" : { | |
13342 | "alias" : "macaddr", | |
13343 | "keyAlias" : "model" | |
13344 | }, | |
13345 | "ne2k_pci" : { | |
13346 | "alias" : "macaddr", | |
13347 | "keyAlias" : "model" | |
13348 | }, | |
13349 | "pcnet" : { | |
13350 | "alias" : "macaddr", | |
13351 | "keyAlias" : "model" | |
13352 | }, | |
13353 | "queues" : { | |
13354 | "description" : "Number of packet queues to be used on the device.", | |
13355 | "maximum" : 16, | |
13356 | "minimum" : 0, | |
13357 | "optional" : 1, | |
13358 | "type" : "integer" | |
13359 | }, | |
13360 | "rate" : { | |
c2993fe5 | 13361 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
13362 | "minimum" : 0, |
13363 | "optional" : 1, | |
13364 | "type" : "number" | |
13365 | }, | |
13366 | "rtl8139" : { | |
13367 | "alias" : "macaddr", | |
13368 | "keyAlias" : "model" | |
13369 | }, | |
13370 | "tag" : { | |
13371 | "description" : "VLAN tag to apply to packets on this interface.", | |
13372 | "maximum" : 4094, | |
c2993fe5 | 13373 | "minimum" : 1, |
f004f5b9 DM |
13374 | "optional" : 1, |
13375 | "type" : "integer" | |
13376 | }, | |
13377 | "trunks" : { | |
13378 | "description" : "VLAN trunks to pass through this interface.", | |
13379 | "format_description" : "vlanid[;vlanid...]", | |
13380 | "optional" : 1, | |
13381 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
13382 | "type" : "string" | |
13383 | }, | |
13384 | "virtio" : { | |
13385 | "alias" : "macaddr", | |
13386 | "keyAlias" : "model" | |
13387 | }, | |
13388 | "vmxnet3" : { | |
13389 | "alias" : "macaddr", | |
13390 | "keyAlias" : "model" | |
13391 | } | |
13392 | }, | |
7aacca6f | 13393 | "optional" : 1, |
4bd7df8b | 13394 | "type" : "string", |
013dc89f | 13395 | "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 | 13396 | }, |
44660702 DM |
13397 | "node" : { |
13398 | "description" : "The cluster node name.", | |
13399 | "format" : "pve-node", | |
013dc89f DM |
13400 | "type" : "string", |
13401 | "typetext" : "<string>" | |
44660702 DM |
13402 | }, |
13403 | "numa" : { | |
13404 | "default" : 0, | |
13405 | "description" : "Enable/disable NUMA.", | |
7aacca6f | 13406 | "optional" : 1, |
013dc89f DM |
13407 | "type" : "boolean", |
13408 | "typetext" : "<boolean>" | |
7aacca6f | 13409 | }, |
44660702 | 13410 | "numa[n]" : { |
c2993fe5 | 13411 | "description" : "NUMA topology.", |
44660702 DM |
13412 | "format" : { |
13413 | "cpus" : { | |
c2993fe5 | 13414 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
13415 | "format_description" : "id[-id];...", |
13416 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
13417 | "type" : "string" | |
13418 | }, | |
13419 | "hostnodes" : { | |
c2993fe5 | 13420 | "description" : "Host NUMA nodes to use.", |
44660702 DM |
13421 | "format_description" : "id[-id];...", |
13422 | "optional" : 1, | |
13423 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
13424 | "type" : "string" | |
13425 | }, | |
13426 | "memory" : { | |
c2993fe5 | 13427 | "description" : "Amount of memory this NUMA node provides.", |
44660702 DM |
13428 | "optional" : 1, |
13429 | "type" : "number" | |
13430 | }, | |
13431 | "policy" : { | |
c2993fe5 | 13432 | "description" : "NUMA allocation policy.", |
44660702 DM |
13433 | "enum" : [ |
13434 | "preferred", | |
13435 | "bind", | |
13436 | "interleave" | |
13437 | ], | |
44660702 DM |
13438 | "optional" : 1, |
13439 | "type" : "string" | |
13440 | } | |
13441 | }, | |
7aacca6f | 13442 | "optional" : 1, |
4bd7df8b DM |
13443 | "type" : "string", |
13444 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" | |
7aacca6f | 13445 | }, |
44660702 DM |
13446 | "onboot" : { |
13447 | "default" : 0, | |
13448 | "description" : "Specifies whether a VM will be started during system bootup.", | |
7aacca6f | 13449 | "optional" : 1, |
013dc89f DM |
13450 | "type" : "boolean", |
13451 | "typetext" : "<boolean>" | |
7aacca6f | 13452 | }, |
44660702 | 13453 | "ostype" : { |
c2993fe5 | 13454 | "description" : "Specify guest operating system.", |
44660702 DM |
13455 | "enum" : [ |
13456 | "other", | |
13457 | "wxp", | |
13458 | "w2k", | |
13459 | "w2k3", | |
13460 | "w2k8", | |
13461 | "wvista", | |
13462 | "win7", | |
13463 | "win8", | |
32d876b5 | 13464 | "win10", |
44660702 DM |
13465 | "l24", |
13466 | "l26", | |
13467 | "solaris" | |
13468 | ], | |
7aacca6f | 13469 | "optional" : 1, |
c2993fe5 | 13470 | "type" : "string", |
5c1699e5 | 13471 | "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/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" |
7aacca6f | 13472 | }, |
44660702 | 13473 | "parallel[n]" : { |
c2993fe5 | 13474 | "description" : "Map host parallel devices (n is 0 to 2).", |
7aacca6f | 13475 | "optional" : 1, |
44660702 | 13476 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
13477 | "type" : "string", |
13478 | "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 | 13479 | }, |
44660702 DM |
13480 | "protection" : { |
13481 | "default" : 0, | |
c2993fe5 | 13482 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
7aacca6f | 13483 | "optional" : 1, |
013dc89f DM |
13484 | "type" : "boolean", |
13485 | "typetext" : "<boolean>" | |
7aacca6f | 13486 | }, |
44660702 DM |
13487 | "reboot" : { |
13488 | "default" : 1, | |
13489 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", | |
7aacca6f | 13490 | "optional" : 1, |
013dc89f DM |
13491 | "type" : "boolean", |
13492 | "typetext" : "<boolean>" | |
7aacca6f | 13493 | }, |
44660702 DM |
13494 | "revert" : { |
13495 | "description" : "Revert a pending change.", | |
13496 | "format" : "pve-configid-list", | |
7aacca6f | 13497 | "optional" : 1, |
013dc89f DM |
13498 | "type" : "string", |
13499 | "typetext" : "<string>" | |
7aacca6f | 13500 | }, |
c5aa7e14 TL |
13501 | "rng0" : { |
13502 | "description" : "Configure a VirtIO-based Random Number Generator.", | |
13503 | "format" : { | |
13504 | "max_bytes" : { | |
13505 | "default" : 1024, | |
13506 | "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).", | |
13507 | "optional" : 1, | |
13508 | "type" : "integer" | |
13509 | }, | |
13510 | "period" : { | |
13511 | "default" : 1000, | |
13512 | "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.", | |
13513 | "optional" : 1, | |
13514 | "type" : "integer" | |
13515 | }, | |
13516 | "source" : { | |
13517 | "default_key" : 1, | |
13518 | "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.", | |
13519 | "enum" : [ | |
13520 | "/dev/urandom", | |
13521 | "/dev/random", | |
13522 | "/dev/hwrng" | |
13523 | ], | |
13524 | "type" : "string" | |
13525 | } | |
13526 | }, | |
13527 | "optional" : 1, | |
13528 | "type" : "string", | |
13529 | "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]" | |
13530 | }, | |
44660702 DM |
13531 | "sata[n]" : { |
13532 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", | |
7aacca6f | 13533 | "format" : { |
44660702 DM |
13534 | "aio" : { |
13535 | "description" : "AIO type to use.", | |
13536 | "enum" : [ | |
13537 | "native", | |
13538 | "threads" | |
13539 | ], | |
44660702 DM |
13540 | "optional" : 1, |
13541 | "type" : "string" | |
13542 | }, | |
13543 | "backup" : { | |
13544 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
13545 | "optional" : 1, |
13546 | "type" : "boolean" | |
13547 | }, | |
13548 | "bps" : { | |
de0983cb | 13549 | "description" : "Maximum r/w speed in bytes per second.", |
7aacca6f | 13550 | "format_description" : "bps", |
7aacca6f DM |
13551 | "optional" : 1, |
13552 | "type" : "integer" | |
56122987 | 13553 | }, |
de0983cb DM |
13554 | "bps_max_length" : { |
13555 | "description" : "Maximum length of I/O bursts in seconds.", | |
13556 | "format_description" : "seconds", | |
13557 | "minimum" : 1, | |
13558 | "optional" : 1, | |
13559 | "type" : "integer" | |
13560 | }, | |
44660702 | 13561 | "bps_rd" : { |
de0983cb | 13562 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 13563 | "format_description" : "bps", |
7aacca6f | 13564 | "optional" : 1, |
44660702 | 13565 | "type" : "integer" |
7aacca6f | 13566 | }, |
de0983cb | 13567 | "bps_rd_length" : { |
5d9c884c DM |
13568 | "alias" : "bps_rd_max_length" |
13569 | }, | |
13570 | "bps_rd_max_length" : { | |
de0983cb DM |
13571 | "description" : "Maximum length of read I/O bursts in seconds.", |
13572 | "format_description" : "seconds", | |
13573 | "minimum" : 1, | |
13574 | "optional" : 1, | |
13575 | "type" : "integer" | |
13576 | }, | |
44660702 | 13577 | "bps_wr" : { |
de0983cb | 13578 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 13579 | "format_description" : "bps", |
7aacca6f | 13580 | "optional" : 1, |
44660702 | 13581 | "type" : "integer" |
7aacca6f | 13582 | }, |
de0983cb | 13583 | "bps_wr_length" : { |
5d9c884c DM |
13584 | "alias" : "bps_wr_max_length" |
13585 | }, | |
13586 | "bps_wr_max_length" : { | |
de0983cb DM |
13587 | "description" : "Maximum length of write I/O bursts in seconds.", |
13588 | "format_description" : "seconds", | |
13589 | "minimum" : 1, | |
13590 | "optional" : 1, | |
13591 | "type" : "integer" | |
13592 | }, | |
44660702 DM |
13593 | "cache" : { |
13594 | "description" : "The drive's cache mode", | |
13595 | "enum" : [ | |
13596 | "none", | |
13597 | "writethrough", | |
13598 | "writeback", | |
13599 | "unsafe", | |
13600 | "directsync" | |
13601 | ], | |
7aacca6f | 13602 | "optional" : 1, |
44660702 | 13603 | "type" : "string" |
7aacca6f | 13604 | }, |
44660702 DM |
13605 | "cyls" : { |
13606 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 13607 | "optional" : 1, |
44660702 | 13608 | "type" : "integer" |
7aacca6f | 13609 | }, |
44660702 DM |
13610 | "detect_zeroes" : { |
13611 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
7aacca6f | 13612 | "optional" : 1, |
44660702 | 13613 | "type" : "boolean" |
7aacca6f | 13614 | }, |
44660702 DM |
13615 | "discard" : { |
13616 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
13617 | "enum" : [ | |
13618 | "ignore", | |
13619 | "on" | |
13620 | ], | |
7aacca6f | 13621 | "optional" : 1, |
44660702 DM |
13622 | "type" : "string" |
13623 | }, | |
13624 | "file" : { | |
13625 | "default_key" : 1, | |
13626 | "description" : "The drive's backing volume.", | |
13627 | "format" : "pve-volume-id-or-qm-path", | |
13628 | "format_description" : "volume", | |
13629 | "type" : "string" | |
7aacca6f DM |
13630 | }, |
13631 | "format" : { | |
7aacca6f | 13632 | "description" : "The drive's backing file's data format.", |
56122987 DM |
13633 | "enum" : [ |
13634 | "raw", | |
13635 | "cow", | |
13636 | "qcow", | |
13637 | "qed", | |
13638 | "qcow2", | |
13639 | "vmdk", | |
13640 | "cloop" | |
13641 | ], | |
13642 | "optional" : 1, | |
7aacca6f | 13643 | "type" : "string" |
56122987 | 13644 | }, |
7aacca6f | 13645 | "heads" : { |
7aacca6f | 13646 | "description" : "Force the drive's physical geometry to have a specific head count.", |
44660702 DM |
13647 | "optional" : 1, |
13648 | "type" : "integer" | |
56122987 | 13649 | }, |
44660702 | 13650 | "iops" : { |
de0983cb | 13651 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 13652 | "format_description" : "iops", |
56122987 | 13653 | "optional" : 1, |
44660702 | 13654 | "type" : "integer" |
7aacca6f | 13655 | }, |
44660702 | 13656 | "iops_max" : { |
de0983cb | 13657 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 13658 | "format_description" : "iops", |
7aacca6f | 13659 | "optional" : 1, |
44660702 | 13660 | "type" : "integer" |
56122987 | 13661 | }, |
de0983cb DM |
13662 | "iops_max_length" : { |
13663 | "description" : "Maximum length of I/O bursts in seconds.", | |
13664 | "format_description" : "seconds", | |
13665 | "minimum" : 1, | |
13666 | "optional" : 1, | |
13667 | "type" : "integer" | |
13668 | }, | |
44660702 | 13669 | "iops_rd" : { |
de0983cb | 13670 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 13671 | "format_description" : "iops", |
56122987 | 13672 | "optional" : 1, |
44660702 | 13673 | "type" : "integer" |
7aacca6f | 13674 | }, |
de0983cb | 13675 | "iops_rd_length" : { |
5d9c884c | 13676 | "alias" : "iops_rd_max_length" |
de0983cb | 13677 | }, |
44660702 | 13678 | "iops_rd_max" : { |
de0983cb | 13679 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 13680 | "format_description" : "iops", |
56122987 | 13681 | "optional" : 1, |
44660702 | 13682 | "type" : "integer" |
56122987 | 13683 | }, |
5d9c884c DM |
13684 | "iops_rd_max_length" : { |
13685 | "description" : "Maximum length of read I/O bursts in seconds.", | |
13686 | "format_description" : "seconds", | |
13687 | "minimum" : 1, | |
13688 | "optional" : 1, | |
13689 | "type" : "integer" | |
13690 | }, | |
44660702 | 13691 | "iops_wr" : { |
de0983cb | 13692 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
13693 | "format_description" : "iops", |
13694 | "optional" : 1, | |
13695 | "type" : "integer" | |
56122987 | 13696 | }, |
de0983cb | 13697 | "iops_wr_length" : { |
5d9c884c | 13698 | "alias" : "iops_wr_max_length" |
de0983cb | 13699 | }, |
44660702 | 13700 | "iops_wr_max" : { |
de0983cb | 13701 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
13702 | "format_description" : "iops", |
13703 | "optional" : 1, | |
13704 | "type" : "integer" | |
13705 | }, | |
5d9c884c DM |
13706 | "iops_wr_max_length" : { |
13707 | "description" : "Maximum length of write I/O bursts in seconds.", | |
13708 | "format_description" : "seconds", | |
13709 | "minimum" : 1, | |
13710 | "optional" : 1, | |
13711 | "type" : "integer" | |
13712 | }, | |
44660702 | 13713 | "mbps" : { |
de0983cb | 13714 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
13715 | "format_description" : "mbps", |
13716 | "optional" : 1, | |
13717 | "type" : "number" | |
13718 | }, | |
13719 | "mbps_max" : { | |
de0983cb | 13720 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
13721 | "format_description" : "mbps", |
13722 | "optional" : 1, | |
13723 | "type" : "number" | |
13724 | }, | |
13725 | "mbps_rd" : { | |
de0983cb | 13726 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
13727 | "format_description" : "mbps", |
13728 | "optional" : 1, | |
13729 | "type" : "number" | |
13730 | }, | |
13731 | "mbps_rd_max" : { | |
de0983cb | 13732 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
13733 | "format_description" : "mbps", |
13734 | "optional" : 1, | |
13735 | "type" : "number" | |
13736 | }, | |
13737 | "mbps_wr" : { | |
de0983cb | 13738 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
13739 | "format_description" : "mbps", |
13740 | "optional" : 1, | |
13741 | "type" : "number" | |
13742 | }, | |
13743 | "mbps_wr_max" : { | |
de0983cb | 13744 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
13745 | "format_description" : "mbps", |
13746 | "optional" : 1, | |
13747 | "type" : "number" | |
13748 | }, | |
13749 | "media" : { | |
13750 | "default" : "disk", | |
13751 | "description" : "The drive's media type.", | |
13752 | "enum" : [ | |
13753 | "cdrom", | |
13754 | "disk" | |
13755 | ], | |
56122987 | 13756 | "optional" : 1, |
44660702 DM |
13757 | "type" : "string" |
13758 | }, | |
5d9c884c DM |
13759 | "replicate" : { |
13760 | "default" : 1, | |
13761 | "description" : "Whether the drive should considered for replication jobs.", | |
13762 | "optional" : 1, | |
13763 | "type" : "boolean" | |
13764 | }, | |
44660702 | 13765 | "rerror" : { |
7aacca6f DM |
13766 | "description" : "Read error action.", |
13767 | "enum" : [ | |
13768 | "ignore", | |
13769 | "report", | |
13770 | "stop" | |
44660702 | 13771 | ], |
56122987 | 13772 | "optional" : 1, |
44660702 | 13773 | "type" : "string" |
56122987 | 13774 | }, |
7aacca6f | 13775 | "secs" : { |
44660702 | 13776 | "description" : "Force the drive's physical geometry to have a specific sector count.", |
56122987 | 13777 | "optional" : 1, |
44660702 | 13778 | "type" : "integer" |
56122987 | 13779 | }, |
44660702 DM |
13780 | "serial" : { |
13781 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
13782 | "format" : "urlencoded", | |
13783 | "format_description" : "serial", | |
13784 | "maxLength" : 60, | |
56122987 | 13785 | "optional" : 1, |
44660702 | 13786 | "type" : "string" |
56122987 | 13787 | }, |
27a7acb2 DM |
13788 | "shared" : { |
13789 | "default" : 0, | |
13790 | "description" : "Mark this locally-managed volume as available on all nodes", | |
13791 | "optional" : 1, | |
13792 | "type" : "boolean", | |
13793 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
13794 | }, | |
44660702 DM |
13795 | "size" : { |
13796 | "description" : "Disk size. This is purely informational and has no effect.", | |
13797 | "format" : "disk-size", | |
f004f5b9 | 13798 | "format_description" : "DiskSize", |
56122987 | 13799 | "optional" : 1, |
44660702 | 13800 | "type" : "string" |
56122987 DM |
13801 | }, |
13802 | "snapshot" : { | |
27a7acb2 | 13803 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 13804 | "optional" : 1, |
44660702 | 13805 | "type" : "boolean" |
56122987 | 13806 | }, |
25203dc1 NC |
13807 | "ssd" : { |
13808 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
13809 | "optional" : 1, | |
13810 | "type" : "boolean" | |
13811 | }, | |
56122987 | 13812 | "trans" : { |
7aacca6f | 13813 | "description" : "Force disk geometry bios translation mode.", |
56122987 DM |
13814 | "enum" : [ |
13815 | "none", | |
13816 | "lba", | |
13817 | "auto" | |
13818 | ], | |
13819 | "optional" : 1, | |
44660702 | 13820 | "type" : "string" |
56122987 | 13821 | }, |
44660702 DM |
13822 | "volume" : { |
13823 | "alias" : "file" | |
56122987 | 13824 | }, |
7aacca6f | 13825 | "werror" : { |
44660702 | 13826 | "description" : "Write error action.", |
56122987 | 13827 | "enum" : [ |
7aacca6f | 13828 | "enospc", |
56122987 | 13829 | "ignore", |
7aacca6f DM |
13830 | "report", |
13831 | "stop" | |
13832 | ], | |
7aacca6f | 13833 | "optional" : 1, |
44660702 | 13834 | "type" : "string" |
95895385 TL |
13835 | }, |
13836 | "wwn" : { | |
13837 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
13838 | "format_description" : "wwn", | |
13839 | "optional" : 1, | |
13840 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
13841 | "type" : "string" | |
44660702 DM |
13842 | } |
13843 | }, | |
13844 | "optional" : 1, | |
4bd7df8b | 13845 | "type" : "string", |
95895385 | 13846 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
44660702 DM |
13847 | }, |
13848 | "scsi[n]" : { | |
e9cd3bd4 | 13849 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).", |
44660702 DM |
13850 | "format" : { |
13851 | "aio" : { | |
7aacca6f | 13852 | "description" : "AIO type to use.", |
56122987 DM |
13853 | "enum" : [ |
13854 | "native", | |
13855 | "threads" | |
44660702 | 13856 | ], |
56122987 | 13857 | "optional" : 1, |
44660702 | 13858 | "type" : "string" |
56122987 | 13859 | }, |
7aacca6f | 13860 | "backup" : { |
7aacca6f | 13861 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 13862 | "optional" : 1, |
44660702 | 13863 | "type" : "boolean" |
56122987 | 13864 | }, |
44660702 | 13865 | "bps" : { |
de0983cb | 13866 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 13867 | "format_description" : "bps", |
7aacca6f | 13868 | "optional" : 1, |
44660702 | 13869 | "type" : "integer" |
7aacca6f | 13870 | }, |
de0983cb DM |
13871 | "bps_max_length" : { |
13872 | "description" : "Maximum length of I/O bursts in seconds.", | |
13873 | "format_description" : "seconds", | |
13874 | "minimum" : 1, | |
13875 | "optional" : 1, | |
13876 | "type" : "integer" | |
13877 | }, | |
44660702 | 13878 | "bps_rd" : { |
de0983cb | 13879 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 13880 | "format_description" : "bps", |
56122987 | 13881 | "optional" : 1, |
44660702 | 13882 | "type" : "integer" |
56122987 | 13883 | }, |
de0983cb | 13884 | "bps_rd_length" : { |
5d9c884c DM |
13885 | "alias" : "bps_rd_max_length" |
13886 | }, | |
13887 | "bps_rd_max_length" : { | |
de0983cb DM |
13888 | "description" : "Maximum length of read I/O bursts in seconds.", |
13889 | "format_description" : "seconds", | |
13890 | "minimum" : 1, | |
13891 | "optional" : 1, | |
13892 | "type" : "integer" | |
13893 | }, | |
44660702 | 13894 | "bps_wr" : { |
de0983cb | 13895 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 13896 | "format_description" : "bps", |
56122987 | 13897 | "optional" : 1, |
44660702 | 13898 | "type" : "integer" |
56122987 | 13899 | }, |
de0983cb | 13900 | "bps_wr_length" : { |
5d9c884c DM |
13901 | "alias" : "bps_wr_max_length" |
13902 | }, | |
13903 | "bps_wr_max_length" : { | |
de0983cb DM |
13904 | "description" : "Maximum length of write I/O bursts in seconds.", |
13905 | "format_description" : "seconds", | |
13906 | "minimum" : 1, | |
13907 | "optional" : 1, | |
13908 | "type" : "integer" | |
13909 | }, | |
44660702 DM |
13910 | "cache" : { |
13911 | "description" : "The drive's cache mode", | |
13912 | "enum" : [ | |
13913 | "none", | |
13914 | "writethrough", | |
13915 | "writeback", | |
13916 | "unsafe", | |
13917 | "directsync" | |
13918 | ], | |
56122987 | 13919 | "optional" : 1, |
44660702 DM |
13920 | "type" : "string" |
13921 | }, | |
13922 | "cyls" : { | |
13923 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
13924 | "optional" : 1, |
13925 | "type" : "integer" | |
13926 | }, | |
13927 | "detect_zeroes" : { | |
13928 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
13929 | "optional" : 1, | |
13930 | "type" : "boolean" | |
13931 | }, | |
13932 | "discard" : { | |
13933 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
13934 | "enum" : [ | |
13935 | "ignore", | |
13936 | "on" | |
13937 | ], | |
44660702 DM |
13938 | "optional" : 1, |
13939 | "type" : "string" | |
13940 | }, | |
13941 | "file" : { | |
13942 | "default_key" : 1, | |
13943 | "description" : "The drive's backing volume.", | |
13944 | "format" : "pve-volume-id-or-qm-path", | |
13945 | "format_description" : "volume", | |
13946 | "type" : "string" | |
56122987 | 13947 | }, |
7aacca6f | 13948 | "format" : { |
44660702 | 13949 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
13950 | "enum" : [ |
13951 | "raw", | |
13952 | "cow", | |
13953 | "qcow", | |
13954 | "qed", | |
13955 | "qcow2", | |
13956 | "vmdk", | |
13957 | "cloop" | |
13958 | ], | |
56122987 | 13959 | "optional" : 1, |
44660702 | 13960 | "type" : "string" |
56122987 | 13961 | }, |
44660702 DM |
13962 | "heads" : { |
13963 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 13964 | "optional" : 1, |
44660702 | 13965 | "type" : "integer" |
56122987 | 13966 | }, |
44660702 | 13967 | "iops" : { |
de0983cb | 13968 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 13969 | "format_description" : "iops", |
7aacca6f | 13970 | "optional" : 1, |
44660702 | 13971 | "type" : "integer" |
56122987 | 13972 | }, |
44660702 | 13973 | "iops_max" : { |
de0983cb | 13974 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
7aacca6f | 13975 | "format_description" : "iops", |
7aacca6f | 13976 | "optional" : 1, |
44660702 | 13977 | "type" : "integer" |
56122987 | 13978 | }, |
de0983cb DM |
13979 | "iops_max_length" : { |
13980 | "description" : "Maximum length of I/O bursts in seconds.", | |
13981 | "format_description" : "seconds", | |
13982 | "minimum" : 1, | |
13983 | "optional" : 1, | |
13984 | "type" : "integer" | |
13985 | }, | |
44660702 | 13986 | "iops_rd" : { |
de0983cb | 13987 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 13988 | "format_description" : "iops", |
56122987 | 13989 | "optional" : 1, |
44660702 | 13990 | "type" : "integer" |
56122987 | 13991 | }, |
de0983cb | 13992 | "iops_rd_length" : { |
5d9c884c | 13993 | "alias" : "iops_rd_max_length" |
de0983cb | 13994 | }, |
44660702 | 13995 | "iops_rd_max" : { |
de0983cb | 13996 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 13997 | "format_description" : "iops", |
56122987 | 13998 | "optional" : 1, |
44660702 | 13999 | "type" : "integer" |
56122987 | 14000 | }, |
5d9c884c DM |
14001 | "iops_rd_max_length" : { |
14002 | "description" : "Maximum length of read I/O bursts in seconds.", | |
14003 | "format_description" : "seconds", | |
14004 | "minimum" : 1, | |
14005 | "optional" : 1, | |
14006 | "type" : "integer" | |
14007 | }, | |
44660702 | 14008 | "iops_wr" : { |
de0983cb | 14009 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 14010 | "format_description" : "iops", |
56122987 | 14011 | "optional" : 1, |
44660702 | 14012 | "type" : "integer" |
56122987 | 14013 | }, |
de0983cb | 14014 | "iops_wr_length" : { |
5d9c884c | 14015 | "alias" : "iops_wr_max_length" |
de0983cb | 14016 | }, |
44660702 | 14017 | "iops_wr_max" : { |
de0983cb | 14018 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
7aacca6f | 14019 | "format_description" : "iops", |
44660702 DM |
14020 | "optional" : 1, |
14021 | "type" : "integer" | |
7aacca6f | 14022 | }, |
5d9c884c DM |
14023 | "iops_wr_max_length" : { |
14024 | "description" : "Maximum length of write I/O bursts in seconds.", | |
14025 | "format_description" : "seconds", | |
14026 | "minimum" : 1, | |
14027 | "optional" : 1, | |
14028 | "type" : "integer" | |
14029 | }, | |
7aacca6f | 14030 | "iothread" : { |
44660702 | 14031 | "description" : "Whether to use iothreads for this drive", |
56122987 | 14032 | "optional" : 1, |
44660702 | 14033 | "type" : "boolean" |
56122987 | 14034 | }, |
44660702 | 14035 | "mbps" : { |
de0983cb | 14036 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 14037 | "format_description" : "mbps", |
56122987 | 14038 | "optional" : 1, |
44660702 | 14039 | "type" : "number" |
56122987 | 14040 | }, |
44660702 | 14041 | "mbps_max" : { |
de0983cb | 14042 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 14043 | "format_description" : "mbps", |
56122987 | 14044 | "optional" : 1, |
44660702 | 14045 | "type" : "number" |
56122987 | 14046 | }, |
44660702 | 14047 | "mbps_rd" : { |
de0983cb | 14048 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 14049 | "format_description" : "mbps", |
7aacca6f | 14050 | "optional" : 1, |
44660702 | 14051 | "type" : "number" |
56122987 | 14052 | }, |
44660702 | 14053 | "mbps_rd_max" : { |
de0983cb | 14054 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 14055 | "format_description" : "mbps", |
7aacca6f | 14056 | "optional" : 1, |
44660702 | 14057 | "type" : "number" |
7aacca6f | 14058 | }, |
44660702 | 14059 | "mbps_wr" : { |
de0983cb | 14060 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 14061 | "format_description" : "mbps", |
56122987 | 14062 | "optional" : 1, |
44660702 | 14063 | "type" : "number" |
56122987 | 14064 | }, |
44660702 | 14065 | "mbps_wr_max" : { |
de0983cb | 14066 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 14067 | "format_description" : "mbps", |
56122987 | 14068 | "optional" : 1, |
44660702 DM |
14069 | "type" : "number" |
14070 | }, | |
14071 | "media" : { | |
14072 | "default" : "disk", | |
14073 | "description" : "The drive's media type.", | |
7aacca6f | 14074 | "enum" : [ |
44660702 DM |
14075 | "cdrom", |
14076 | "disk" | |
7aacca6f | 14077 | ], |
56122987 | 14078 | "optional" : 1, |
44660702 | 14079 | "type" : "string" |
56122987 | 14080 | }, |
7aacca6f | 14081 | "queues" : { |
44660702 | 14082 | "description" : "Number of queues.", |
7aacca6f | 14083 | "minimum" : 2, |
7aacca6f DM |
14084 | "optional" : 1, |
14085 | "type" : "integer" | |
56122987 | 14086 | }, |
5d9c884c DM |
14087 | "replicate" : { |
14088 | "default" : 1, | |
14089 | "description" : "Whether the drive should considered for replication jobs.", | |
14090 | "optional" : 1, | |
14091 | "type" : "boolean" | |
14092 | }, | |
14093 | "rerror" : { | |
14094 | "description" : "Read error action.", | |
14095 | "enum" : [ | |
14096 | "ignore", | |
14097 | "report", | |
14098 | "stop" | |
14099 | ], | |
14100 | "optional" : 1, | |
14101 | "type" : "string" | |
14102 | }, | |
52e44c50 FG |
14103 | "scsiblock" : { |
14104 | "default" : 0, | |
14105 | "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host", | |
14106 | "optional" : 1, | |
14107 | "type" : "boolean" | |
14108 | }, | |
44660702 DM |
14109 | "secs" : { |
14110 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 14111 | "optional" : 1, |
44660702 | 14112 | "type" : "integer" |
56122987 | 14113 | }, |
44660702 DM |
14114 | "serial" : { |
14115 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
14116 | "format" : "urlencoded", | |
14117 | "format_description" : "serial", | |
14118 | "maxLength" : 60, | |
56122987 | 14119 | "optional" : 1, |
44660702 | 14120 | "type" : "string" |
56122987 | 14121 | }, |
27a7acb2 DM |
14122 | "shared" : { |
14123 | "default" : 0, | |
14124 | "description" : "Mark this locally-managed volume as available on all nodes", | |
14125 | "optional" : 1, | |
14126 | "type" : "boolean", | |
14127 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
14128 | }, | |
44660702 DM |
14129 | "size" : { |
14130 | "description" : "Disk size. This is purely informational and has no effect.", | |
14131 | "format" : "disk-size", | |
f004f5b9 | 14132 | "format_description" : "DiskSize", |
44660702 DM |
14133 | "optional" : 1, |
14134 | "type" : "string" | |
14135 | }, | |
14136 | "snapshot" : { | |
27a7acb2 | 14137 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 14138 | "optional" : 1, |
44660702 DM |
14139 | "type" : "boolean" |
14140 | }, | |
25203dc1 NC |
14141 | "ssd" : { |
14142 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
14143 | "optional" : 1, | |
14144 | "type" : "boolean" | |
14145 | }, | |
44660702 DM |
14146 | "trans" : { |
14147 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 14148 | "enum" : [ |
44660702 DM |
14149 | "none", |
14150 | "lba", | |
14151 | "auto" | |
56122987 | 14152 | ], |
44660702 DM |
14153 | "optional" : 1, |
14154 | "type" : "string" | |
14155 | }, | |
14156 | "volume" : { | |
14157 | "alias" : "file" | |
56122987 | 14158 | }, |
7aacca6f | 14159 | "werror" : { |
7aacca6f DM |
14160 | "description" : "Write error action.", |
14161 | "enum" : [ | |
14162 | "enospc", | |
14163 | "ignore", | |
14164 | "report", | |
14165 | "stop" | |
44660702 | 14166 | ], |
56122987 | 14167 | "optional" : 1, |
7aacca6f | 14168 | "type" : "string" |
95895385 TL |
14169 | }, |
14170 | "wwn" : { | |
14171 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
14172 | "format_description" : "wwn", | |
14173 | "optional" : 1, | |
14174 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
14175 | "type" : "string" | |
56122987 | 14176 | } |
44660702 | 14177 | }, |
56122987 | 14178 | "optional" : 1, |
4bd7df8b | 14179 | "type" : "string", |
95895385 | 14180 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
56122987 DM |
14181 | }, |
14182 | "scsihw" : { | |
44660702 | 14183 | "default" : "lsi", |
c2993fe5 | 14184 | "description" : "SCSI controller model", |
56122987 DM |
14185 | "enum" : [ |
14186 | "lsi", | |
14187 | "lsi53c810", | |
14188 | "virtio-scsi-pci", | |
14189 | "virtio-scsi-single", | |
14190 | "megasas", | |
14191 | "pvscsi" | |
14192 | ], | |
14193 | "optional" : 1, | |
56122987 DM |
14194 | "type" : "string" |
14195 | }, | |
27a7acb2 DM |
14196 | "searchdomain" : { |
14197 | "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
14198 | "optional" : 1, | |
14199 | "type" : "string", | |
14200 | "typetext" : "<string>" | |
14201 | }, | |
44660702 | 14202 | "serial[n]" : { |
c2993fe5 | 14203 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
56122987 | 14204 | "optional" : 1, |
44660702 | 14205 | "pattern" : "(/dev/.+|socket)", |
c2993fe5 | 14206 | "type" : "string", |
57b78691 | 14207 | "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 | 14208 | }, |
44660702 DM |
14209 | "shares" : { |
14210 | "default" : 1000, | |
5da3d723 | 14211 | "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. Auto-ballooning is done by pvestatd.", |
44660702 DM |
14212 | "maximum" : 50000, |
14213 | "minimum" : 0, | |
7aacca6f | 14214 | "optional" : 1, |
4bd7df8b | 14215 | "type" : "integer", |
013dc89f | 14216 | "typetext" : "<integer> (0 - 50000)" |
56122987 | 14217 | }, |
7aacca6f DM |
14218 | "skiplock" : { |
14219 | "description" : "Ignore locks - only root is allowed to use this option.", | |
44660702 | 14220 | "optional" : 1, |
013dc89f DM |
14221 | "type" : "boolean", |
14222 | "typetext" : "<boolean>" | |
56122987 | 14223 | }, |
44660702 DM |
14224 | "smbios1" : { |
14225 | "description" : "Specify SMBIOS type 1 fields.", | |
14226 | "format" : "pve-qm-smbios1", | |
1e3f8156 | 14227 | "maxLength" : 512, |
56122987 | 14228 | "optional" : 1, |
4bd7df8b | 14229 | "type" : "string", |
1e3f8156 | 14230 | "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]" |
56122987 | 14231 | }, |
44660702 DM |
14232 | "smp" : { |
14233 | "default" : 1, | |
14234 | "description" : "The number of CPUs. Please use option -sockets instead.", | |
14235 | "minimum" : 1, | |
56122987 | 14236 | "optional" : 1, |
4bd7df8b | 14237 | "type" : "integer", |
013dc89f | 14238 | "typetext" : "<integer> (1 - N)" |
56122987 | 14239 | }, |
44660702 DM |
14240 | "sockets" : { |
14241 | "default" : 1, | |
14242 | "description" : "The number of CPU sockets.", | |
14243 | "minimum" : 1, | |
56122987 | 14244 | "optional" : 1, |
4bd7df8b | 14245 | "type" : "integer", |
013dc89f | 14246 | "typetext" : "<integer> (1 - N)" |
56122987 | 14247 | }, |
1c532546 TL |
14248 | "spice_enhancements" : { |
14249 | "description" : "Configure additional enhancements for SPICE.", | |
14250 | "format" : { | |
14251 | "foldersharing" : { | |
14252 | "default" : "0", | |
14253 | "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.", | |
14254 | "optional" : 1, | |
14255 | "type" : "boolean" | |
14256 | }, | |
14257 | "videostreaming" : { | |
14258 | "default" : "off", | |
14259 | "description" : "Enable video streaming. Uses compression for detected video streams.", | |
14260 | "enum" : [ | |
14261 | "off", | |
14262 | "all", | |
14263 | "filter" | |
14264 | ], | |
14265 | "optional" : 1, | |
14266 | "type" : "string" | |
14267 | } | |
14268 | }, | |
14269 | "optional" : 1, | |
14270 | "type" : "string", | |
14271 | "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]" | |
14272 | }, | |
27a7acb2 DM |
14273 | "sshkeys" : { |
14274 | "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).", | |
14275 | "format" : "urlencoded", | |
14276 | "optional" : 1, | |
14277 | "type" : "string", | |
14278 | "typetext" : "<string>" | |
14279 | }, | |
44660702 DM |
14280 | "startdate" : { |
14281 | "default" : "now", | |
14282 | "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'.", | |
14283 | "optional" : 1, | |
14284 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", | |
7aacca6f | 14285 | "type" : "string", |
44660702 DM |
14286 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" |
14287 | }, | |
14288 | "startup" : { | |
14289 | "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.", | |
14290 | "format" : "pve-startup-order", | |
7aacca6f | 14291 | "optional" : 1, |
44660702 DM |
14292 | "type" : "string", |
14293 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
7aacca6f | 14294 | }, |
44660702 DM |
14295 | "tablet" : { |
14296 | "default" : 1, | |
c2993fe5 | 14297 | "description" : "Enable/disable the USB tablet device.", |
7aacca6f | 14298 | "optional" : 1, |
c2993fe5 | 14299 | "type" : "boolean", |
013dc89f | 14300 | "typetext" : "<boolean>", |
c2993fe5 | 14301 | "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 | 14302 | }, |
5c1699e5 TL |
14303 | "tags" : { |
14304 | "description" : "Tags of the VM. This is only meta information.", | |
14305 | "format" : "pve-tag-list", | |
14306 | "optional" : 1, | |
14307 | "type" : "string", | |
14308 | "typetext" : "<string>" | |
14309 | }, | |
44660702 DM |
14310 | "tdf" : { |
14311 | "default" : 0, | |
14312 | "description" : "Enable/disable time drift fix.", | |
7aacca6f | 14313 | "optional" : 1, |
013dc89f DM |
14314 | "type" : "boolean", |
14315 | "typetext" : "<boolean>" | |
7aacca6f | 14316 | }, |
44660702 DM |
14317 | "template" : { |
14318 | "default" : 0, | |
14319 | "description" : "Enable/disable Template.", | |
7aacca6f | 14320 | "optional" : 1, |
013dc89f DM |
14321 | "type" : "boolean", |
14322 | "typetext" : "<boolean>" | |
7aacca6f | 14323 | }, |
44660702 | 14324 | "unused[n]" : { |
c2993fe5 | 14325 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
c5aa7e14 TL |
14326 | "format" : { |
14327 | "file" : { | |
14328 | "default_key" : 1, | |
14329 | "description" : "The drive's backing volume.", | |
14330 | "format" : "pve-volume-id", | |
14331 | "format_description" : "volume", | |
14332 | "type" : "string" | |
14333 | }, | |
14334 | "volume" : { | |
14335 | "alias" : "file" | |
14336 | } | |
14337 | }, | |
7aacca6f | 14338 | "optional" : 1, |
013dc89f | 14339 | "type" : "string", |
c5aa7e14 | 14340 | "typetext" : "[file=]<volume>" |
7aacca6f | 14341 | }, |
44660702 | 14342 | "usb[n]" : { |
c2993fe5 | 14343 | "description" : "Configure an USB device (n is 0 to 4).", |
56122987 | 14344 | "format" : { |
44660702 DM |
14345 | "host" : { |
14346 | "default_key" : 1, | |
c2993fe5 | 14347 | "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 |
14348 | "format" : "pve-qm-usb-device", |
14349 | "format_description" : "HOSTUSBDEVICE|spice", | |
14350 | "type" : "string" | |
7aacca6f | 14351 | }, |
44660702 | 14352 | "usb3" : { |
c2993fe5 | 14353 | "default" : 0, |
1c532546 | 14354 | "description" : "Specifies whether if given host option is a USB3 device or port.", |
7aacca6f | 14355 | "optional" : 1, |
44660702 | 14356 | "type" : "boolean" |
7aacca6f | 14357 | } |
44660702 | 14358 | }, |
7aacca6f | 14359 | "optional" : 1, |
4bd7df8b DM |
14360 | "type" : "string", |
14361 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
7aacca6f | 14362 | }, |
44660702 | 14363 | "vcpus" : { |
7aacca6f | 14364 | "default" : 0, |
44660702 DM |
14365 | "description" : "Number of hotplugged vcpus.", |
14366 | "minimum" : 1, | |
7aacca6f | 14367 | "optional" : 1, |
4bd7df8b | 14368 | "type" : "integer", |
013dc89f | 14369 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 14370 | }, |
44660702 | 14371 | "vga" : { |
e2d681b3 TL |
14372 | "description" : "Configure the VGA hardware.", |
14373 | "format" : { | |
14374 | "memory" : { | |
14375 | "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.", | |
14376 | "maximum" : 512, | |
14377 | "minimum" : 4, | |
14378 | "optional" : 1, | |
14379 | "type" : "integer" | |
14380 | }, | |
14381 | "type" : { | |
14382 | "default" : "std", | |
14383 | "default_key" : 1, | |
14384 | "description" : "Select the VGA type.", | |
14385 | "enum" : [ | |
14386 | "cirrus", | |
14387 | "qxl", | |
14388 | "qxl2", | |
14389 | "qxl3", | |
14390 | "qxl4", | |
5f26e15b | 14391 | "none", |
e2d681b3 TL |
14392 | "serial0", |
14393 | "serial1", | |
14394 | "serial2", | |
14395 | "serial3", | |
14396 | "std", | |
14397 | "virtio", | |
14398 | "vmware" | |
14399 | ], | |
14400 | "optional" : 1, | |
14401 | "type" : "string" | |
14402 | } | |
14403 | }, | |
7aacca6f | 14404 | "optional" : 1, |
c2993fe5 | 14405 | "type" : "string", |
e2d681b3 TL |
14406 | "typetext" : "[[type=]<enum>] [,memory=<integer>]", |
14407 | "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal." | |
7aacca6f | 14408 | }, |
44660702 DM |
14409 | "virtio[n]" : { |
14410 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
7aacca6f | 14411 | "format" : { |
7aacca6f | 14412 | "aio" : { |
7aacca6f | 14413 | "description" : "AIO type to use.", |
56122987 | 14414 | "enum" : [ |
7aacca6f DM |
14415 | "native", |
14416 | "threads" | |
7aacca6f | 14417 | ], |
44660702 DM |
14418 | "optional" : 1, |
14419 | "type" : "string" | |
56122987 | 14420 | }, |
44660702 DM |
14421 | "backup" : { |
14422 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 14423 | "optional" : 1, |
44660702 | 14424 | "type" : "boolean" |
7aacca6f | 14425 | }, |
44660702 | 14426 | "bps" : { |
de0983cb | 14427 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 14428 | "format_description" : "bps", |
7aacca6f | 14429 | "optional" : 1, |
44660702 | 14430 | "type" : "integer" |
56122987 | 14431 | }, |
de0983cb DM |
14432 | "bps_max_length" : { |
14433 | "description" : "Maximum length of I/O bursts in seconds.", | |
14434 | "format_description" : "seconds", | |
14435 | "minimum" : 1, | |
14436 | "optional" : 1, | |
14437 | "type" : "integer" | |
14438 | }, | |
56122987 | 14439 | "bps_rd" : { |
de0983cb | 14440 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 14441 | "format_description" : "bps", |
56122987 | 14442 | "optional" : 1, |
7aacca6f | 14443 | "type" : "integer" |
56122987 | 14444 | }, |
de0983cb | 14445 | "bps_rd_length" : { |
5d9c884c DM |
14446 | "alias" : "bps_rd_max_length" |
14447 | }, | |
14448 | "bps_rd_max_length" : { | |
de0983cb DM |
14449 | "description" : "Maximum length of read I/O bursts in seconds.", |
14450 | "format_description" : "seconds", | |
14451 | "minimum" : 1, | |
14452 | "optional" : 1, | |
14453 | "type" : "integer" | |
14454 | }, | |
44660702 | 14455 | "bps_wr" : { |
de0983cb | 14456 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 14457 | "format_description" : "bps", |
56122987 | 14458 | "optional" : 1, |
7aacca6f | 14459 | "type" : "integer" |
56122987 | 14460 | }, |
de0983cb | 14461 | "bps_wr_length" : { |
5d9c884c DM |
14462 | "alias" : "bps_wr_max_length" |
14463 | }, | |
14464 | "bps_wr_max_length" : { | |
de0983cb DM |
14465 | "description" : "Maximum length of write I/O bursts in seconds.", |
14466 | "format_description" : "seconds", | |
14467 | "minimum" : 1, | |
14468 | "optional" : 1, | |
14469 | "type" : "integer" | |
14470 | }, | |
7aacca6f | 14471 | "cache" : { |
44660702 | 14472 | "description" : "The drive's cache mode", |
7aacca6f DM |
14473 | "enum" : [ |
14474 | "none", | |
14475 | "writethrough", | |
14476 | "writeback", | |
14477 | "unsafe", | |
14478 | "directsync" | |
14479 | ], | |
56122987 | 14480 | "optional" : 1, |
44660702 | 14481 | "type" : "string" |
7aacca6f | 14482 | }, |
44660702 DM |
14483 | "cyls" : { |
14484 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
14485 | "optional" : 1, |
14486 | "type" : "integer" | |
14487 | }, | |
14488 | "detect_zeroes" : { | |
14489 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
14490 | "optional" : 1, | |
14491 | "type" : "boolean" | |
14492 | }, | |
14493 | "discard" : { | |
14494 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
56122987 | 14495 | "enum" : [ |
44660702 DM |
14496 | "ignore", |
14497 | "on" | |
56122987 DM |
14498 | ], |
14499 | "optional" : 1, | |
44660702 | 14500 | "type" : "string" |
56122987 | 14501 | }, |
44660702 DM |
14502 | "file" : { |
14503 | "default_key" : 1, | |
14504 | "description" : "The drive's backing volume.", | |
14505 | "format" : "pve-volume-id-or-qm-path", | |
14506 | "format_description" : "volume", | |
14507 | "type" : "string" | |
14508 | }, | |
14509 | "format" : { | |
14510 | "description" : "The drive's backing file's data format.", | |
14511 | "enum" : [ | |
14512 | "raw", | |
14513 | "cow", | |
14514 | "qcow", | |
14515 | "qed", | |
14516 | "qcow2", | |
14517 | "vmdk", | |
14518 | "cloop" | |
14519 | ], | |
56122987 | 14520 | "optional" : 1, |
44660702 | 14521 | "type" : "string" |
56122987 | 14522 | }, |
44660702 DM |
14523 | "heads" : { |
14524 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
14525 | "optional" : 1, |
14526 | "type" : "integer" | |
14527 | }, | |
14528 | "iops" : { | |
de0983cb | 14529 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 14530 | "format_description" : "iops", |
56122987 | 14531 | "optional" : 1, |
44660702 DM |
14532 | "type" : "integer" |
14533 | }, | |
14534 | "iops_max" : { | |
de0983cb | 14535 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 DM |
14536 | "format_description" : "iops", |
14537 | "optional" : 1, | |
14538 | "type" : "integer" | |
56122987 | 14539 | }, |
de0983cb DM |
14540 | "iops_max_length" : { |
14541 | "description" : "Maximum length of I/O bursts in seconds.", | |
14542 | "format_description" : "seconds", | |
14543 | "minimum" : 1, | |
14544 | "optional" : 1, | |
14545 | "type" : "integer" | |
14546 | }, | |
7aacca6f | 14547 | "iops_rd" : { |
de0983cb | 14548 | "description" : "Maximum read I/O in operations per second.", |
7aacca6f | 14549 | "format_description" : "iops", |
7aacca6f | 14550 | "optional" : 1, |
44660702 | 14551 | "type" : "integer" |
56122987 | 14552 | }, |
de0983cb | 14553 | "iops_rd_length" : { |
5d9c884c | 14554 | "alias" : "iops_rd_max_length" |
de0983cb | 14555 | }, |
44660702 | 14556 | "iops_rd_max" : { |
de0983cb | 14557 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
14558 | "format_description" : "iops", |
14559 | "optional" : 1, | |
14560 | "type" : "integer" | |
14561 | }, | |
5d9c884c DM |
14562 | "iops_rd_max_length" : { |
14563 | "description" : "Maximum length of read I/O bursts in seconds.", | |
14564 | "format_description" : "seconds", | |
14565 | "minimum" : 1, | |
14566 | "optional" : 1, | |
14567 | "type" : "integer" | |
14568 | }, | |
44660702 | 14569 | "iops_wr" : { |
de0983cb | 14570 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
14571 | "format_description" : "iops", |
14572 | "optional" : 1, | |
14573 | "type" : "integer" | |
14574 | }, | |
de0983cb | 14575 | "iops_wr_length" : { |
5d9c884c | 14576 | "alias" : "iops_wr_max_length" |
de0983cb | 14577 | }, |
44660702 | 14578 | "iops_wr_max" : { |
de0983cb | 14579 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
14580 | "format_description" : "iops", |
14581 | "optional" : 1, | |
14582 | "type" : "integer" | |
14583 | }, | |
5d9c884c DM |
14584 | "iops_wr_max_length" : { |
14585 | "description" : "Maximum length of write I/O bursts in seconds.", | |
14586 | "format_description" : "seconds", | |
14587 | "minimum" : 1, | |
14588 | "optional" : 1, | |
14589 | "type" : "integer" | |
14590 | }, | |
44660702 DM |
14591 | "iothread" : { |
14592 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
14593 | "optional" : 1, |
14594 | "type" : "boolean" | |
14595 | }, | |
14596 | "mbps" : { | |
de0983cb | 14597 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 14598 | "format_description" : "mbps", |
7aacca6f | 14599 | "optional" : 1, |
44660702 | 14600 | "type" : "number" |
7aacca6f DM |
14601 | }, |
14602 | "mbps_max" : { | |
de0983cb | 14603 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 14604 | "format_description" : "mbps", |
56122987 | 14605 | "optional" : 1, |
44660702 | 14606 | "type" : "number" |
56122987 | 14607 | }, |
44660702 | 14608 | "mbps_rd" : { |
de0983cb | 14609 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 14610 | "format_description" : "mbps", |
56122987 | 14611 | "optional" : 1, |
44660702 | 14612 | "type" : "number" |
56122987 | 14613 | }, |
44660702 | 14614 | "mbps_rd_max" : { |
de0983cb | 14615 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
14616 | "format_description" : "mbps", |
14617 | "optional" : 1, | |
14618 | "type" : "number" | |
14619 | }, | |
14620 | "mbps_wr" : { | |
de0983cb | 14621 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
14622 | "format_description" : "mbps", |
14623 | "optional" : 1, | |
14624 | "type" : "number" | |
14625 | }, | |
14626 | "mbps_wr_max" : { | |
de0983cb | 14627 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
14628 | "format_description" : "mbps", |
14629 | "optional" : 1, | |
14630 | "type" : "number" | |
14631 | }, | |
14632 | "media" : { | |
14633 | "default" : "disk", | |
14634 | "description" : "The drive's media type.", | |
56122987 | 14635 | "enum" : [ |
44660702 DM |
14636 | "cdrom", |
14637 | "disk" | |
56122987 DM |
14638 | ], |
14639 | "optional" : 1, | |
44660702 | 14640 | "type" : "string" |
56122987 | 14641 | }, |
5d9c884c DM |
14642 | "replicate" : { |
14643 | "default" : 1, | |
14644 | "description" : "Whether the drive should considered for replication jobs.", | |
14645 | "optional" : 1, | |
14646 | "type" : "boolean" | |
14647 | }, | |
44660702 DM |
14648 | "rerror" : { |
14649 | "description" : "Read error action.", | |
14650 | "enum" : [ | |
14651 | "ignore", | |
14652 | "report", | |
14653 | "stop" | |
14654 | ], | |
56122987 | 14655 | "optional" : 1, |
44660702 | 14656 | "type" : "string" |
56122987 | 14657 | }, |
44660702 DM |
14658 | "secs" : { |
14659 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 14660 | "optional" : 1, |
44660702 | 14661 | "type" : "integer" |
56122987 | 14662 | }, |
7aacca6f DM |
14663 | "serial" : { |
14664 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
7aacca6f | 14665 | "format" : "urlencoded", |
44660702 | 14666 | "format_description" : "serial", |
7aacca6f | 14667 | "maxLength" : 60, |
44660702 DM |
14668 | "optional" : 1, |
14669 | "type" : "string" | |
56122987 | 14670 | }, |
27a7acb2 DM |
14671 | "shared" : { |
14672 | "default" : 0, | |
14673 | "description" : "Mark this locally-managed volume as available on all nodes", | |
14674 | "optional" : 1, | |
14675 | "type" : "boolean", | |
14676 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
14677 | }, | |
44660702 DM |
14678 | "size" : { |
14679 | "description" : "Disk size. This is purely informational and has no effect.", | |
14680 | "format" : "disk-size", | |
f004f5b9 | 14681 | "format_description" : "DiskSize", |
44660702 DM |
14682 | "optional" : 1, |
14683 | "type" : "string" | |
56122987 | 14684 | }, |
44660702 | 14685 | "snapshot" : { |
27a7acb2 | 14686 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 14687 | "optional" : 1, |
44660702 | 14688 | "type" : "boolean" |
56122987 | 14689 | }, |
44660702 DM |
14690 | "trans" : { |
14691 | "description" : "Force disk geometry bios translation mode.", | |
14692 | "enum" : [ | |
14693 | "none", | |
14694 | "lba", | |
14695 | "auto" | |
14696 | ], | |
7aacca6f | 14697 | "optional" : 1, |
44660702 | 14698 | "type" : "string" |
7aacca6f | 14699 | }, |
44660702 DM |
14700 | "volume" : { |
14701 | "alias" : "file" | |
14702 | }, | |
14703 | "werror" : { | |
14704 | "description" : "Write error action.", | |
14705 | "enum" : [ | |
14706 | "enospc", | |
14707 | "ignore", | |
14708 | "report", | |
14709 | "stop" | |
14710 | ], | |
7aacca6f | 14711 | "optional" : 1, |
44660702 | 14712 | "type" : "string" |
56122987 DM |
14713 | } |
14714 | }, | |
7aacca6f | 14715 | "optional" : 1, |
4bd7df8b | 14716 | "type" : "string", |
27a7acb2 | 14717 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
7aacca6f | 14718 | }, |
4d47f125 TL |
14719 | "vmgenid" : { |
14720 | "default" : "1 (autogenerated)", | |
14721 | "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.", | |
14722 | "format_description" : "UUID", | |
14723 | "optional" : 1, | |
14724 | "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])", | |
14725 | "type" : "string", | |
14726 | "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file." | |
14727 | }, | |
44660702 DM |
14728 | "vmid" : { |
14729 | "description" : "The (unique) ID of the VM.", | |
14730 | "format" : "pve-vmid", | |
14731 | "minimum" : 1, | |
4bd7df8b | 14732 | "type" : "integer", |
013dc89f | 14733 | "typetext" : "<integer> (1 - N)" |
56122987 | 14734 | }, |
2489d6df WB |
14735 | "vmstatestorage" : { |
14736 | "description" : "Default storage for VM state volumes/files.", | |
14737 | "format" : "pve-storage-id", | |
14738 | "optional" : 1, | |
14739 | "type" : "string", | |
14740 | "typetext" : "<string>" | |
14741 | }, | |
44660702 | 14742 | "watchdog" : { |
c2993fe5 | 14743 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 14744 | "format" : "pve-qm-watchdog", |
56122987 | 14745 | "optional" : 1, |
c2993fe5 | 14746 | "type" : "string", |
013dc89f | 14747 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", |
c2993fe5 | 14748 | "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 | 14749 | } |
7aacca6f | 14750 | } |
56122987 | 14751 | }, |
56122987 DM |
14752 | "permissions" : { |
14753 | "check" : [ | |
14754 | "perm", | |
14755 | "/vms/{vmid}", | |
14756 | [ | |
14757 | "VM.Config.Disk", | |
14758 | "VM.Config.CDROM", | |
14759 | "VM.Config.CPU", | |
14760 | "VM.Config.Memory", | |
14761 | "VM.Config.Network", | |
14762 | "VM.Config.HWType", | |
14763 | "VM.Config.Options" | |
14764 | ], | |
14765 | "any", | |
14766 | 1 | |
14767 | ] | |
14768 | }, | |
44660702 | 14769 | "protected" : 1, |
7aacca6f | 14770 | "proxyto" : "node", |
56122987 | 14771 | "returns" : { |
4d47f125 TL |
14772 | "optional" : 1, |
14773 | "type" : "string" | |
7aacca6f | 14774 | } |
4d47f125 TL |
14775 | }, |
14776 | "PUT" : { | |
e9cd3bd4 | 14777 | "allowtoken" : 1, |
4d47f125 TL |
14778 | "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.", |
14779 | "method" : "PUT", | |
14780 | "name" : "update_vm", | |
7aacca6f | 14781 | "parameters" : { |
44660702 | 14782 | "additionalProperties" : 0, |
7aacca6f | 14783 | "properties" : { |
4d47f125 TL |
14784 | "acpi" : { |
14785 | "default" : 1, | |
14786 | "description" : "Enable/disable ACPI.", | |
14787 | "optional" : 1, | |
14788 | "type" : "boolean", | |
14789 | "typetext" : "<boolean>" | |
7aacca6f | 14790 | }, |
4d47f125 TL |
14791 | "agent" : { |
14792 | "description" : "Enable/disable Qemu GuestAgent and its properties.", | |
14793 | "format" : { | |
14794 | "enabled" : { | |
14795 | "default" : 0, | |
14796 | "default_key" : 1, | |
14797 | "description" : "Enable/disable Qemu GuestAgent.", | |
14798 | "type" : "boolean" | |
14799 | }, | |
14800 | "fstrim_cloned_disks" : { | |
14801 | "default" : 0, | |
14802 | "description" : "Run fstrim after cloning/moving a disk.", | |
14803 | "optional" : 1, | |
14804 | "type" : "boolean" | |
5c1699e5 TL |
14805 | }, |
14806 | "type" : { | |
14807 | "default" : "virtio", | |
14808 | "description" : "Select the agent type", | |
14809 | "enum" : [ | |
14810 | "virtio", | |
14811 | "isa" | |
14812 | ], | |
14813 | "optional" : 1, | |
14814 | "type" : "string" | |
4d47f125 | 14815 | } |
44660702 | 14816 | }, |
4d47f125 TL |
14817 | "optional" : 1, |
14818 | "type" : "string", | |
5c1699e5 | 14819 | "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]" |
44660702 | 14820 | }, |
e2d681b3 TL |
14821 | "arch" : { |
14822 | "description" : "Virtual processor architecture. Defaults to the host.", | |
14823 | "enum" : [ | |
14824 | "x86_64", | |
14825 | "aarch64" | |
14826 | ], | |
14827 | "optional" : 1, | |
14828 | "type" : "string" | |
14829 | }, | |
4d47f125 TL |
14830 | "args" : { |
14831 | "description" : "Arbitrary arguments passed to kvm.", | |
14832 | "optional" : 1, | |
14833 | "type" : "string", | |
14834 | "typetext" : "<string>", | |
14835 | "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n" | |
14836 | }, | |
1c532546 TL |
14837 | "audio0" : { |
14838 | "description" : "Configure a audio device, useful in combination with QXL/Spice.", | |
14839 | "format" : { | |
14840 | "device" : { | |
14841 | "description" : "Configure an audio device.", | |
14842 | "enum" : [ | |
14843 | "ich9-intel-hda", | |
14844 | "intel-hda", | |
14845 | "AC97" | |
14846 | ], | |
14847 | "type" : "string" | |
14848 | }, | |
14849 | "driver" : { | |
14850 | "default" : "spice", | |
14851 | "description" : "Driver backend for the audio device.", | |
14852 | "enum" : [ | |
14853 | "spice" | |
14854 | ], | |
14855 | "optional" : 1, | |
14856 | "type" : "string" | |
14857 | } | |
14858 | }, | |
14859 | "optional" : 1, | |
14860 | "type" : "string", | |
14861 | "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]" | |
14862 | }, | |
4d47f125 TL |
14863 | "autostart" : { |
14864 | "default" : 0, | |
14865 | "description" : "Automatic restart after crash (currently ignored).", | |
7aacca6f | 14866 | "optional" : 1, |
013dc89f DM |
14867 | "type" : "boolean", |
14868 | "typetext" : "<boolean>" | |
7aacca6f | 14869 | }, |
4d47f125 TL |
14870 | "balloon" : { |
14871 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
14872 | "minimum" : 0, | |
14873 | "optional" : 1, | |
14874 | "type" : "integer", | |
14875 | "typetext" : "<integer> (0 - N)" | |
14876 | }, | |
14877 | "bios" : { | |
14878 | "default" : "seabios", | |
14879 | "description" : "Select BIOS implementation.", | |
14880 | "enum" : [ | |
14881 | "seabios", | |
14882 | "ovmf" | |
14883 | ], | |
14884 | "optional" : 1, | |
14885 | "type" : "string" | |
14886 | }, | |
14887 | "boot" : { | |
14888 | "default" : "cdn", | |
14889 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
14890 | "optional" : 1, | |
14891 | "pattern" : "[acdn]{1,4}", | |
14892 | "type" : "string" | |
14893 | }, | |
14894 | "bootdisk" : { | |
14895 | "description" : "Enable booting from specified disk.", | |
14896 | "format" : "pve-qm-bootdisk", | |
14897 | "optional" : 1, | |
14898 | "pattern" : "(ide|sata|scsi|virtio)\\d+", | |
14899 | "type" : "string" | |
14900 | }, | |
14901 | "cdrom" : { | |
14902 | "description" : "This is an alias for option -ide2", | |
14903 | "format" : "pve-qm-ide", | |
14904 | "optional" : 1, | |
14905 | "type" : "string", | |
14906 | "typetext" : "<volume>" | |
14907 | }, | |
95895385 TL |
14908 | "cicustom" : { |
14909 | "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.", | |
14910 | "format" : "pve-qm-cicustom", | |
14911 | "optional" : 1, | |
14912 | "type" : "string", | |
14913 | "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]" | |
14914 | }, | |
4d47f125 TL |
14915 | "cipassword" : { |
14916 | "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.", | |
14917 | "optional" : 1, | |
013dc89f DM |
14918 | "type" : "string", |
14919 | "typetext" : "<string>" | |
44660702 | 14920 | }, |
4d47f125 TL |
14921 | "citype" : { |
14922 | "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.", | |
14923 | "enum" : [ | |
14924 | "configdrive2", | |
14925 | "nocloud" | |
14926 | ], | |
14927 | "optional" : 1, | |
14928 | "type" : "string" | |
14929 | }, | |
14930 | "ciuser" : { | |
14931 | "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.", | |
14932 | "optional" : 1, | |
013dc89f DM |
14933 | "type" : "string", |
14934 | "typetext" : "<string>" | |
56122987 | 14935 | }, |
4d47f125 TL |
14936 | "cores" : { |
14937 | "default" : 1, | |
14938 | "description" : "The number of cores per socket.", | |
7aacca6f | 14939 | "minimum" : 1, |
4d47f125 | 14940 | "optional" : 1, |
4bd7df8b | 14941 | "type" : "integer", |
013dc89f | 14942 | "typetext" : "<integer> (1 - N)" |
4d47f125 TL |
14943 | }, |
14944 | "cpu" : { | |
14945 | "description" : "Emulated CPU type.", | |
c5aa7e14 | 14946 | "format" : "pve-vm-cpu-conf", |
4d47f125 | 14947 | "optional" : 1, |
013dc89f | 14948 | "type" : "string", |
c5aa7e14 | 14949 | "typetext" : "<string>" |
44660702 | 14950 | }, |
4d47f125 TL |
14951 | "cpulimit" : { |
14952 | "default" : 0, | |
14953 | "description" : "Limit of CPU usage.", | |
14954 | "maximum" : 128, | |
14955 | "minimum" : 0, | |
14956 | "optional" : 1, | |
14957 | "type" : "number", | |
14958 | "typetext" : "<number> (0 - 128)", | |
14959 | "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." | |
14960 | }, | |
14961 | "cpuunits" : { | |
14962 | "default" : 1024, | |
14963 | "description" : "CPU weight for a VM.", | |
14964 | "maximum" : 262144, | |
14965 | "minimum" : 2, | |
14966 | "optional" : 1, | |
4bd7df8b | 14967 | "type" : "integer", |
4d47f125 TL |
14968 | "typetext" : "<integer> (2 - 262144)", |
14969 | "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." | |
7aacca6f | 14970 | }, |
4d47f125 TL |
14971 | "delete" : { |
14972 | "description" : "A list of settings you want to delete.", | |
14973 | "format" : "pve-configid-list", | |
14974 | "optional" : 1, | |
14975 | "type" : "string", | |
14976 | "typetext" : "<string>" | |
14977 | }, | |
14978 | "description" : { | |
14979 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
14980 | "optional" : 1, | |
14981 | "type" : "string", | |
14982 | "typetext" : "<string>" | |
14983 | }, | |
14984 | "digest" : { | |
14985 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14986 | "maxLength" : 40, | |
44660702 | 14987 | "optional" : 1, |
4d47f125 TL |
14988 | "type" : "string", |
14989 | "typetext" : "<string>" | |
14990 | }, | |
14991 | "efidisk0" : { | |
14992 | "description" : "Configure a Disk for storing EFI vars", | |
14993 | "format" : { | |
14994 | "file" : { | |
14995 | "default_key" : 1, | |
14996 | "description" : "The drive's backing volume.", | |
14997 | "format" : "pve-volume-id-or-qm-path", | |
14998 | "format_description" : "volume", | |
14999 | "type" : "string" | |
15000 | }, | |
15001 | "format" : { | |
15002 | "description" : "The drive's backing file's data format.", | |
15003 | "enum" : [ | |
15004 | "raw", | |
15005 | "cow", | |
15006 | "qcow", | |
15007 | "qed", | |
15008 | "qcow2", | |
15009 | "vmdk", | |
15010 | "cloop" | |
15011 | ], | |
15012 | "optional" : 1, | |
15013 | "type" : "string" | |
15014 | }, | |
15015 | "size" : { | |
15016 | "description" : "Disk size. This is purely informational and has no effect.", | |
15017 | "format" : "disk-size", | |
15018 | "format_description" : "DiskSize", | |
15019 | "optional" : 1, | |
15020 | "type" : "string" | |
15021 | }, | |
15022 | "volume" : { | |
15023 | "alias" : "file" | |
15024 | } | |
15025 | }, | |
15026 | "optional" : 1, | |
15027 | "type" : "string", | |
15028 | "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]" | |
15029 | }, | |
15030 | "force" : { | |
15031 | "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.", | |
15032 | "optional" : 1, | |
15033 | "requires" : "delete", | |
013dc89f DM |
15034 | "type" : "boolean", |
15035 | "typetext" : "<boolean>" | |
56122987 | 15036 | }, |
4d47f125 TL |
15037 | "freeze" : { |
15038 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
15039 | "optional" : 1, | |
15040 | "type" : "boolean", | |
15041 | "typetext" : "<boolean>" | |
7aacca6f | 15042 | }, |
5f26e15b TL |
15043 | "hookscript" : { |
15044 | "description" : "Script that will be executed during various steps in the vms lifetime.", | |
15045 | "format" : "pve-volume-id", | |
15046 | "optional" : 1, | |
15047 | "type" : "string", | |
15048 | "typetext" : "<string>" | |
15049 | }, | |
4d47f125 TL |
15050 | "hostpci[n]" : { |
15051 | "description" : "Map host PCI devices into guest.", | |
15052 | "format" : "pve-qm-hostpci", | |
15053 | "optional" : 1, | |
15054 | "type" : "string", | |
e2d681b3 | 15055 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]", |
bb4c8cf8 | 15056 | "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 | 15057 | }, |
4d47f125 TL |
15058 | "hotplug" : { |
15059 | "default" : "network,disk,usb", | |
15060 | "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'.", | |
15061 | "format" : "pve-hotplug-features", | |
15062 | "optional" : 1, | |
35a75dd3 DM |
15063 | "type" : "string", |
15064 | "typetext" : "<string>" | |
15065 | }, | |
4d47f125 TL |
15066 | "hugepages" : { |
15067 | "description" : "Enable/disable hugepages memory.", | |
35a75dd3 | 15068 | "enum" : [ |
4d47f125 TL |
15069 | "any", |
15070 | "2", | |
15071 | "1024" | |
35a75dd3 DM |
15072 | ], |
15073 | "optional" : 1, | |
15074 | "type" : "string" | |
15075 | }, | |
4d47f125 TL |
15076 | "ide[n]" : { |
15077 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", | |
15078 | "format" : { | |
15079 | "aio" : { | |
15080 | "description" : "AIO type to use.", | |
15081 | "enum" : [ | |
15082 | "native", | |
15083 | "threads" | |
15084 | ], | |
44660702 | 15085 | "optional" : 1, |
44660702 DM |
15086 | "type" : "string" |
15087 | }, | |
4d47f125 TL |
15088 | "backup" : { |
15089 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 15090 | "optional" : 1, |
4d47f125 | 15091 | "type" : "boolean" |
56122987 | 15092 | }, |
4d47f125 TL |
15093 | "bps" : { |
15094 | "description" : "Maximum r/w speed in bytes per second.", | |
15095 | "format_description" : "bps", | |
de0983cb | 15096 | "optional" : 1, |
4d47f125 | 15097 | "type" : "integer" |
de0983cb | 15098 | }, |
4d47f125 TL |
15099 | "bps_max_length" : { |
15100 | "description" : "Maximum length of I/O bursts in seconds.", | |
15101 | "format_description" : "seconds", | |
15102 | "minimum" : 1, | |
de0983cb | 15103 | "optional" : 1, |
4d47f125 | 15104 | "type" : "integer" |
7aacca6f | 15105 | }, |
4d47f125 TL |
15106 | "bps_rd" : { |
15107 | "description" : "Maximum read speed in bytes per second.", | |
15108 | "format_description" : "bps", | |
7aacca6f | 15109 | "optional" : 1, |
4d47f125 | 15110 | "type" : "integer" |
56122987 | 15111 | }, |
4d47f125 TL |
15112 | "bps_rd_length" : { |
15113 | "alias" : "bps_rd_max_length" | |
15114 | }, | |
15115 | "bps_rd_max_length" : { | |
15116 | "description" : "Maximum length of read I/O bursts in seconds.", | |
15117 | "format_description" : "seconds", | |
15118 | "minimum" : 1, | |
56122987 | 15119 | "optional" : 1, |
4d47f125 | 15120 | "type" : "integer" |
56122987 | 15121 | }, |
4d47f125 TL |
15122 | "bps_wr" : { |
15123 | "description" : "Maximum write speed in bytes per second.", | |
15124 | "format_description" : "bps", | |
52e44c50 | 15125 | "optional" : 1, |
4d47f125 | 15126 | "type" : "integer" |
52e44c50 | 15127 | }, |
4d47f125 TL |
15128 | "bps_wr_length" : { |
15129 | "alias" : "bps_wr_max_length" | |
15130 | }, | |
15131 | "bps_wr_max_length" : { | |
15132 | "description" : "Maximum length of write I/O bursts in seconds.", | |
15133 | "format_description" : "seconds", | |
44660702 | 15134 | "minimum" : 1, |
56122987 | 15135 | "optional" : 1, |
4d47f125 | 15136 | "type" : "integer" |
56122987 | 15137 | }, |
4d47f125 TL |
15138 | "cache" : { |
15139 | "description" : "The drive's cache mode", | |
15140 | "enum" : [ | |
15141 | "none", | |
15142 | "writethrough", | |
15143 | "writeback", | |
15144 | "unsafe", | |
15145 | "directsync" | |
15146 | ], | |
7aacca6f | 15147 | "optional" : 1, |
4d47f125 | 15148 | "type" : "string" |
7aacca6f | 15149 | }, |
4d47f125 TL |
15150 | "cyls" : { |
15151 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
15152 | "optional" : 1, | |
15153 | "type" : "integer" | |
56122987 | 15154 | }, |
4d47f125 TL |
15155 | "detect_zeroes" : { |
15156 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 15157 | "optional" : 1, |
4d47f125 | 15158 | "type" : "boolean" |
56122987 | 15159 | }, |
4d47f125 TL |
15160 | "discard" : { |
15161 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
15162 | "enum" : [ | |
15163 | "ignore", | |
15164 | "on" | |
15165 | ], | |
56122987 | 15166 | "optional" : 1, |
4d47f125 | 15167 | "type" : "string" |
7aacca6f | 15168 | }, |
4d47f125 TL |
15169 | "file" : { |
15170 | "default_key" : 1, | |
15171 | "description" : "The drive's backing volume.", | |
15172 | "format" : "pve-volume-id-or-qm-path", | |
15173 | "format_description" : "volume", | |
15174 | "type" : "string" | |
56122987 | 15175 | }, |
4d47f125 TL |
15176 | "format" : { |
15177 | "description" : "The drive's backing file's data format.", | |
15178 | "enum" : [ | |
15179 | "raw", | |
15180 | "cow", | |
15181 | "qcow", | |
15182 | "qed", | |
15183 | "qcow2", | |
15184 | "vmdk", | |
15185 | "cloop" | |
15186 | ], | |
7aacca6f | 15187 | "optional" : 1, |
4d47f125 | 15188 | "type" : "string" |
7aacca6f | 15189 | }, |
4d47f125 TL |
15190 | "heads" : { |
15191 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
7aacca6f | 15192 | "optional" : 1, |
4d47f125 | 15193 | "type" : "integer" |
56122987 | 15194 | }, |
4d47f125 TL |
15195 | "iops" : { |
15196 | "description" : "Maximum r/w I/O in operations per second.", | |
15197 | "format_description" : "iops", | |
44660702 | 15198 | "optional" : 1, |
4d47f125 | 15199 | "type" : "integer" |
44660702 | 15200 | }, |
4d47f125 TL |
15201 | "iops_max" : { |
15202 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", | |
15203 | "format_description" : "iops", | |
44660702 | 15204 | "optional" : 1, |
4d47f125 | 15205 | "type" : "integer" |
56122987 | 15206 | }, |
4d47f125 TL |
15207 | "iops_max_length" : { |
15208 | "description" : "Maximum length of I/O bursts in seconds.", | |
15209 | "format_description" : "seconds", | |
15210 | "minimum" : 1, | |
7aacca6f | 15211 | "optional" : 1, |
4d47f125 | 15212 | "type" : "integer" |
7aacca6f | 15213 | }, |
4d47f125 TL |
15214 | "iops_rd" : { |
15215 | "description" : "Maximum read I/O in operations per second.", | |
15216 | "format_description" : "iops", | |
15217 | "optional" : 1, | |
15218 | "type" : "integer" | |
15219 | }, | |
15220 | "iops_rd_length" : { | |
15221 | "alias" : "iops_rd_max_length" | |
15222 | }, | |
15223 | "iops_rd_max" : { | |
15224 | "description" : "Maximum unthrottled read I/O pool in operations per second.", | |
15225 | "format_description" : "iops", | |
15226 | "optional" : 1, | |
15227 | "type" : "integer" | |
15228 | }, | |
15229 | "iops_rd_max_length" : { | |
15230 | "description" : "Maximum length of read I/O bursts in seconds.", | |
15231 | "format_description" : "seconds", | |
44660702 | 15232 | "minimum" : 1, |
4d47f125 TL |
15233 | "optional" : 1, |
15234 | "type" : "integer" | |
7aacca6f | 15235 | }, |
4d47f125 TL |
15236 | "iops_wr" : { |
15237 | "description" : "Maximum write I/O in operations per second.", | |
15238 | "format_description" : "iops", | |
44660702 | 15239 | "optional" : 1, |
4d47f125 | 15240 | "type" : "integer" |
44660702 | 15241 | }, |
4d47f125 TL |
15242 | "iops_wr_length" : { |
15243 | "alias" : "iops_wr_max_length" | |
15244 | }, | |
15245 | "iops_wr_max" : { | |
15246 | "description" : "Maximum unthrottled write I/O pool in operations per second.", | |
15247 | "format_description" : "iops", | |
15248 | "optional" : 1, | |
15249 | "type" : "integer" | |
15250 | }, | |
15251 | "iops_wr_max_length" : { | |
15252 | "description" : "Maximum length of write I/O bursts in seconds.", | |
15253 | "format_description" : "seconds", | |
44660702 | 15254 | "minimum" : 1, |
44660702 | 15255 | "optional" : 1, |
4d47f125 | 15256 | "type" : "integer" |
44660702 | 15257 | }, |
4d47f125 TL |
15258 | "mbps" : { |
15259 | "description" : "Maximum r/w speed in megabytes per second.", | |
15260 | "format_description" : "mbps", | |
15261 | "optional" : 1, | |
15262 | "type" : "number" | |
56122987 | 15263 | }, |
4d47f125 TL |
15264 | "mbps_max" : { |
15265 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", | |
15266 | "format_description" : "mbps", | |
15267 | "optional" : 1, | |
15268 | "type" : "number" | |
15269 | }, | |
15270 | "mbps_rd" : { | |
15271 | "description" : "Maximum read speed in megabytes per second.", | |
15272 | "format_description" : "mbps", | |
15273 | "optional" : 1, | |
15274 | "type" : "number" | |
15275 | }, | |
15276 | "mbps_rd_max" : { | |
15277 | "description" : "Maximum unthrottled read pool in megabytes per second.", | |
15278 | "format_description" : "mbps", | |
15279 | "optional" : 1, | |
15280 | "type" : "number" | |
15281 | }, | |
15282 | "mbps_wr" : { | |
15283 | "description" : "Maximum write speed in megabytes per second.", | |
15284 | "format_description" : "mbps", | |
15285 | "optional" : 1, | |
15286 | "type" : "number" | |
15287 | }, | |
15288 | "mbps_wr_max" : { | |
15289 | "description" : "Maximum unthrottled write pool in megabytes per second.", | |
15290 | "format_description" : "mbps", | |
15291 | "optional" : 1, | |
15292 | "type" : "number" | |
15293 | }, | |
15294 | "media" : { | |
15295 | "default" : "disk", | |
15296 | "description" : "The drive's media type.", | |
15297 | "enum" : [ | |
15298 | "cdrom", | |
15299 | "disk" | |
15300 | ], | |
15301 | "optional" : 1, | |
15302 | "type" : "string" | |
15303 | }, | |
15304 | "model" : { | |
15305 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", | |
15306 | "format" : "urlencoded", | |
15307 | "format_description" : "model", | |
15308 | "maxLength" : 120, | |
15309 | "optional" : 1, | |
15310 | "type" : "string" | |
15311 | }, | |
15312 | "replicate" : { | |
15313 | "default" : 1, | |
15314 | "description" : "Whether the drive should considered for replication jobs.", | |
15315 | "optional" : 1, | |
15316 | "type" : "boolean" | |
15317 | }, | |
15318 | "rerror" : { | |
15319 | "description" : "Read error action.", | |
15320 | "enum" : [ | |
15321 | "ignore", | |
15322 | "report", | |
15323 | "stop" | |
15324 | ], | |
15325 | "optional" : 1, | |
15326 | "type" : "string" | |
15327 | }, | |
15328 | "secs" : { | |
15329 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
15330 | "optional" : 1, | |
15331 | "type" : "integer" | |
15332 | }, | |
15333 | "serial" : { | |
15334 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
15335 | "format" : "urlencoded", | |
15336 | "format_description" : "serial", | |
15337 | "maxLength" : 60, | |
15338 | "optional" : 1, | |
15339 | "type" : "string" | |
15340 | }, | |
15341 | "shared" : { | |
15342 | "default" : 0, | |
15343 | "description" : "Mark this locally-managed volume as available on all nodes", | |
44660702 | 15344 | "optional" : 1, |
013dc89f | 15345 | "type" : "boolean", |
4d47f125 | 15346 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" |
56122987 | 15347 | }, |
4d47f125 TL |
15348 | "size" : { |
15349 | "description" : "Disk size. This is purely informational and has no effect.", | |
15350 | "format" : "disk-size", | |
15351 | "format_description" : "DiskSize", | |
15352 | "optional" : 1, | |
15353 | "type" : "string" | |
15354 | }, | |
15355 | "snapshot" : { | |
15356 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", | |
15357 | "optional" : 1, | |
15358 | "type" : "boolean" | |
15359 | }, | |
25203dc1 NC |
15360 | "ssd" : { |
15361 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
15362 | "optional" : 1, | |
15363 | "type" : "boolean" | |
15364 | }, | |
4d47f125 TL |
15365 | "trans" : { |
15366 | "description" : "Force disk geometry bios translation mode.", | |
15367 | "enum" : [ | |
15368 | "none", | |
15369 | "lba", | |
15370 | "auto" | |
15371 | ], | |
15372 | "optional" : 1, | |
15373 | "type" : "string" | |
15374 | }, | |
15375 | "volume" : { | |
15376 | "alias" : "file" | |
15377 | }, | |
15378 | "werror" : { | |
15379 | "description" : "Write error action.", | |
15380 | "enum" : [ | |
15381 | "enospc", | |
15382 | "ignore", | |
15383 | "report", | |
15384 | "stop" | |
15385 | ], | |
15386 | "optional" : 1, | |
15387 | "type" : "string" | |
95895385 TL |
15388 | }, |
15389 | "wwn" : { | |
15390 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
15391 | "format_description" : "wwn", | |
15392 | "optional" : 1, | |
15393 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
15394 | "type" : "string" | |
4d47f125 TL |
15395 | } |
15396 | }, | |
15397 | "optional" : 1, | |
013dc89f | 15398 | "type" : "string", |
95895385 | 15399 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
44660702 | 15400 | }, |
4d47f125 TL |
15401 | "ipconfig[n]" : { |
15402 | "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n", | |
15403 | "format" : "pve-qm-ipconfig", | |
15404 | "optional" : 1, | |
013dc89f | 15405 | "type" : "string", |
4d47f125 | 15406 | "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]" |
44660702 | 15407 | }, |
95895385 TL |
15408 | "ivshmem" : { |
15409 | "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.", | |
15410 | "format" : { | |
15411 | "name" : { | |
15412 | "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.", | |
15413 | "format_description" : "string", | |
15414 | "optional" : 1, | |
15415 | "pattern" : "[a-zA-Z0-9\\-]+", | |
15416 | "type" : "string" | |
15417 | }, | |
15418 | "size" : { | |
15419 | "description" : "The size of the file in MB.", | |
15420 | "minimum" : 1, | |
15421 | "type" : "integer" | |
15422 | } | |
15423 | }, | |
15424 | "optional" : 1, | |
15425 | "type" : "string", | |
15426 | "typetext" : "size=<integer> [,name=<string>]" | |
15427 | }, | |
4d47f125 TL |
15428 | "keyboard" : { |
15429 | "default" : null, | |
15430 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.", | |
15431 | "enum" : [ | |
15432 | "de", | |
15433 | "de-ch", | |
15434 | "da", | |
15435 | "en-gb", | |
15436 | "en-us", | |
15437 | "es", | |
15438 | "fi", | |
15439 | "fr", | |
15440 | "fr-be", | |
15441 | "fr-ca", | |
15442 | "fr-ch", | |
15443 | "hu", | |
15444 | "is", | |
15445 | "it", | |
15446 | "ja", | |
15447 | "lt", | |
15448 | "mk", | |
15449 | "nl", | |
15450 | "no", | |
15451 | "pl", | |
15452 | "pt", | |
15453 | "pt-br", | |
15454 | "sv", | |
15455 | "sl", | |
15456 | "tr" | |
15457 | ], | |
15458 | "optional" : 1, | |
15459 | "type" : "string" | |
44660702 | 15460 | }, |
4d47f125 TL |
15461 | "kvm" : { |
15462 | "default" : 1, | |
15463 | "description" : "Enable/disable KVM hardware virtualization.", | |
44660702 | 15464 | "optional" : 1, |
013dc89f DM |
15465 | "type" : "boolean", |
15466 | "typetext" : "<boolean>" | |
7aacca6f | 15467 | }, |
4d47f125 TL |
15468 | "localtime" : { |
15469 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
15470 | "optional" : 1, | |
15471 | "type" : "boolean", | |
15472 | "typetext" : "<boolean>" | |
15473 | }, | |
15474 | "lock" : { | |
15475 | "description" : "Lock/unlock the VM.", | |
56122987 | 15476 | "enum" : [ |
4d47f125 | 15477 | "backup", |
5f26e15b TL |
15478 | "clone", |
15479 | "create", | |
15480 | "migrate", | |
15481 | "rollback", | |
56122987 | 15482 | "snapshot", |
95895385 TL |
15483 | "snapshot-delete", |
15484 | "suspending", | |
15485 | "suspended" | |
56122987 | 15486 | ], |
4d47f125 | 15487 | "optional" : 1, |
44660702 DM |
15488 | "type" : "string" |
15489 | }, | |
4d47f125 TL |
15490 | "machine" : { |
15491 | "description" : "Specifies the Qemu machine type.", | |
15492 | "maxLength" : 40, | |
15493 | "optional" : 1, | |
5c1699e5 | 15494 | "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", |
4d47f125 TL |
15495 | "type" : "string" |
15496 | }, | |
15497 | "memory" : { | |
15498 | "default" : 512, | |
15499 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
15500 | "minimum" : 16, | |
15501 | "optional" : 1, | |
15502 | "type" : "integer", | |
15503 | "typetext" : "<integer> (16 - N)" | |
15504 | }, | |
15505 | "migrate_downtime" : { | |
15506 | "default" : 0.1, | |
15507 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
15508 | "minimum" : 0, | |
15509 | "optional" : 1, | |
15510 | "type" : "number", | |
15511 | "typetext" : "<number> (0 - N)" | |
15512 | }, | |
15513 | "migrate_speed" : { | |
15514 | "default" : 0, | |
15515 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", | |
15516 | "minimum" : 0, | |
15517 | "optional" : 1, | |
15518 | "type" : "integer", | |
15519 | "typetext" : "<integer> (0 - N)" | |
15520 | }, | |
15521 | "name" : { | |
15522 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
15523 | "format" : "dns-name", | |
15524 | "optional" : 1, | |
013dc89f DM |
15525 | "type" : "string", |
15526 | "typetext" : "<string>" | |
56122987 | 15527 | }, |
4d47f125 TL |
15528 | "nameserver" : { |
15529 | "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
15530 | "format" : "address-list", | |
7aacca6f | 15531 | "optional" : 1, |
013dc89f DM |
15532 | "type" : "string", |
15533 | "typetext" : "<string>" | |
7aacca6f | 15534 | }, |
4d47f125 TL |
15535 | "net[n]" : { |
15536 | "description" : "Specify network devices.", | |
15537 | "format" : { | |
15538 | "bridge" : { | |
15539 | "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", | |
15540 | "format_description" : "bridge", | |
15541 | "optional" : 1, | |
c5aa7e14 | 15542 | "pattern" : "[-_.\\w\\d]+", |
4d47f125 TL |
15543 | "type" : "string" |
15544 | }, | |
15545 | "e1000" : { | |
15546 | "alias" : "macaddr", | |
15547 | "keyAlias" : "model" | |
15548 | }, | |
15549 | "e1000-82540em" : { | |
15550 | "alias" : "macaddr", | |
15551 | "keyAlias" : "model" | |
15552 | }, | |
15553 | "e1000-82544gc" : { | |
15554 | "alias" : "macaddr", | |
15555 | "keyAlias" : "model" | |
15556 | }, | |
15557 | "e1000-82545em" : { | |
15558 | "alias" : "macaddr", | |
15559 | "keyAlias" : "model" | |
15560 | }, | |
15561 | "firewall" : { | |
15562 | "description" : "Whether this interface should be protected by the firewall.", | |
15563 | "optional" : 1, | |
15564 | "type" : "boolean" | |
15565 | }, | |
15566 | "i82551" : { | |
15567 | "alias" : "macaddr", | |
15568 | "keyAlias" : "model" | |
15569 | }, | |
15570 | "i82557b" : { | |
15571 | "alias" : "macaddr", | |
15572 | "keyAlias" : "model" | |
15573 | }, | |
15574 | "i82559er" : { | |
15575 | "alias" : "macaddr", | |
15576 | "keyAlias" : "model" | |
15577 | }, | |
15578 | "link_down" : { | |
15579 | "description" : "Whether this interface should be disconnected (like pulling the plug).", | |
15580 | "optional" : 1, | |
15581 | "type" : "boolean" | |
15582 | }, | |
15583 | "macaddr" : { | |
15584 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", | |
95895385 | 15585 | "format" : "mac-addr", |
4d47f125 TL |
15586 | "format_description" : "XX:XX:XX:XX:XX:XX", |
15587 | "optional" : 1, | |
95895385 TL |
15588 | "type" : "string", |
15589 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
4d47f125 TL |
15590 | }, |
15591 | "model" : { | |
15592 | "default_key" : 1, | |
15593 | "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'.", | |
15594 | "enum" : [ | |
15595 | "rtl8139", | |
15596 | "ne2k_pci", | |
15597 | "e1000", | |
15598 | "pcnet", | |
15599 | "virtio", | |
15600 | "ne2k_isa", | |
15601 | "i82551", | |
15602 | "i82557b", | |
15603 | "i82559er", | |
15604 | "vmxnet3", | |
15605 | "e1000-82540em", | |
15606 | "e1000-82544gc", | |
15607 | "e1000-82545em" | |
15608 | ], | |
15609 | "type" : "string" | |
15610 | }, | |
15611 | "ne2k_isa" : { | |
15612 | "alias" : "macaddr", | |
15613 | "keyAlias" : "model" | |
15614 | }, | |
15615 | "ne2k_pci" : { | |
15616 | "alias" : "macaddr", | |
15617 | "keyAlias" : "model" | |
15618 | }, | |
15619 | "pcnet" : { | |
15620 | "alias" : "macaddr", | |
15621 | "keyAlias" : "model" | |
15622 | }, | |
15623 | "queues" : { | |
15624 | "description" : "Number of packet queues to be used on the device.", | |
15625 | "maximum" : 16, | |
15626 | "minimum" : 0, | |
15627 | "optional" : 1, | |
15628 | "type" : "integer" | |
15629 | }, | |
15630 | "rate" : { | |
15631 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", | |
15632 | "minimum" : 0, | |
15633 | "optional" : 1, | |
15634 | "type" : "number" | |
15635 | }, | |
15636 | "rtl8139" : { | |
15637 | "alias" : "macaddr", | |
15638 | "keyAlias" : "model" | |
15639 | }, | |
15640 | "tag" : { | |
15641 | "description" : "VLAN tag to apply to packets on this interface.", | |
15642 | "maximum" : 4094, | |
15643 | "minimum" : 1, | |
15644 | "optional" : 1, | |
15645 | "type" : "integer" | |
15646 | }, | |
15647 | "trunks" : { | |
15648 | "description" : "VLAN trunks to pass through this interface.", | |
15649 | "format_description" : "vlanid[;vlanid...]", | |
15650 | "optional" : 1, | |
15651 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
15652 | "type" : "string" | |
15653 | }, | |
15654 | "virtio" : { | |
15655 | "alias" : "macaddr", | |
15656 | "keyAlias" : "model" | |
15657 | }, | |
15658 | "vmxnet3" : { | |
15659 | "alias" : "macaddr", | |
15660 | "keyAlias" : "model" | |
15661 | } | |
44660702 | 15662 | }, |
44660702 | 15663 | "optional" : 1, |
013dc89f | 15664 | "type" : "string", |
4d47f125 | 15665 | "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 |
15666 | }, |
15667 | "node" : { | |
15668 | "description" : "The cluster node name.", | |
15669 | "format" : "pve-node", | |
013dc89f DM |
15670 | "type" : "string", |
15671 | "typetext" : "<string>" | |
7aacca6f | 15672 | }, |
4d47f125 TL |
15673 | "numa" : { |
15674 | "default" : 0, | |
15675 | "description" : "Enable/disable NUMA.", | |
56122987 | 15676 | "optional" : 1, |
4d47f125 TL |
15677 | "type" : "boolean", |
15678 | "typetext" : "<boolean>" | |
56122987 | 15679 | }, |
4d47f125 TL |
15680 | "numa[n]" : { |
15681 | "description" : "NUMA topology.", | |
15682 | "format" : { | |
15683 | "cpus" : { | |
15684 | "description" : "CPUs accessing this NUMA node.", | |
15685 | "format_description" : "id[-id];...", | |
15686 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
15687 | "type" : "string" | |
15688 | }, | |
15689 | "hostnodes" : { | |
15690 | "description" : "Host NUMA nodes to use.", | |
15691 | "format_description" : "id[-id];...", | |
15692 | "optional" : 1, | |
15693 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
15694 | "type" : "string" | |
15695 | }, | |
15696 | "memory" : { | |
15697 | "description" : "Amount of memory this NUMA node provides.", | |
15698 | "optional" : 1, | |
15699 | "type" : "number" | |
15700 | }, | |
15701 | "policy" : { | |
15702 | "description" : "NUMA allocation policy.", | |
15703 | "enum" : [ | |
15704 | "preferred", | |
15705 | "bind", | |
15706 | "interleave" | |
15707 | ], | |
15708 | "optional" : 1, | |
15709 | "type" : "string" | |
15710 | } | |
15711 | }, | |
7aacca6f | 15712 | "optional" : 1, |
013dc89f | 15713 | "type" : "string", |
4d47f125 | 15714 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" |
56122987 | 15715 | }, |
4d47f125 | 15716 | "onboot" : { |
44660702 | 15717 | "default" : 0, |
4d47f125 | 15718 | "description" : "Specifies whether a VM will be started during system bootup.", |
7aacca6f | 15719 | "optional" : 1, |
013dc89f DM |
15720 | "type" : "boolean", |
15721 | "typetext" : "<boolean>" | |
56122987 | 15722 | }, |
4d47f125 TL |
15723 | "ostype" : { |
15724 | "description" : "Specify guest operating system.", | |
7aacca6f | 15725 | "enum" : [ |
4d47f125 TL |
15726 | "other", |
15727 | "wxp", | |
15728 | "w2k", | |
15729 | "w2k3", | |
15730 | "w2k8", | |
15731 | "wvista", | |
15732 | "win7", | |
15733 | "win8", | |
15734 | "win10", | |
15735 | "l24", | |
15736 | "l26", | |
15737 | "solaris" | |
7aacca6f DM |
15738 | ], |
15739 | "optional" : 1, | |
013dc89f | 15740 | "type" : "string", |
5c1699e5 | 15741 | "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/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" |
44660702 | 15742 | }, |
4d47f125 TL |
15743 | "parallel[n]" : { |
15744 | "description" : "Map host parallel devices (n is 0 to 2).", | |
15745 | "optional" : 1, | |
15746 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", | |
013dc89f | 15747 | "type" : "string", |
4d47f125 | 15748 | "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" |
44660702 | 15749 | }, |
4d47f125 TL |
15750 | "protection" : { |
15751 | "default" : 0, | |
15752 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", | |
44660702 | 15753 | "optional" : 1, |
013dc89f DM |
15754 | "type" : "boolean", |
15755 | "typetext" : "<boolean>" | |
44660702 | 15756 | }, |
4d47f125 TL |
15757 | "reboot" : { |
15758 | "default" : 1, | |
15759 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", | |
56122987 | 15760 | "optional" : 1, |
013dc89f DM |
15761 | "type" : "boolean", |
15762 | "typetext" : "<boolean>" | |
56122987 | 15763 | }, |
4d47f125 TL |
15764 | "revert" : { |
15765 | "description" : "Revert a pending change.", | |
15766 | "format" : "pve-configid-list", | |
15767 | "optional" : 1, | |
013dc89f DM |
15768 | "type" : "string", |
15769 | "typetext" : "<string>" | |
56122987 | 15770 | }, |
c5aa7e14 TL |
15771 | "rng0" : { |
15772 | "description" : "Configure a VirtIO-based Random Number Generator.", | |
15773 | "format" : { | |
15774 | "max_bytes" : { | |
15775 | "default" : 1024, | |
15776 | "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).", | |
15777 | "optional" : 1, | |
15778 | "type" : "integer" | |
15779 | }, | |
15780 | "period" : { | |
15781 | "default" : 1000, | |
15782 | "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.", | |
15783 | "optional" : 1, | |
15784 | "type" : "integer" | |
15785 | }, | |
15786 | "source" : { | |
15787 | "default_key" : 1, | |
15788 | "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.", | |
15789 | "enum" : [ | |
15790 | "/dev/urandom", | |
15791 | "/dev/random", | |
15792 | "/dev/hwrng" | |
15793 | ], | |
15794 | "type" : "string" | |
15795 | } | |
15796 | }, | |
15797 | "optional" : 1, | |
15798 | "type" : "string", | |
15799 | "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]" | |
15800 | }, | |
4d47f125 TL |
15801 | "sata[n]" : { |
15802 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", | |
15803 | "format" : { | |
15804 | "aio" : { | |
15805 | "description" : "AIO type to use.", | |
15806 | "enum" : [ | |
15807 | "native", | |
15808 | "threads" | |
15809 | ], | |
15810 | "optional" : 1, | |
15811 | "type" : "string" | |
15812 | }, | |
15813 | "backup" : { | |
15814 | "description" : "Whether the drive should be included when making backups.", | |
15815 | "optional" : 1, | |
15816 | "type" : "boolean" | |
15817 | }, | |
15818 | "bps" : { | |
15819 | "description" : "Maximum r/w speed in bytes per second.", | |
15820 | "format_description" : "bps", | |
15821 | "optional" : 1, | |
15822 | "type" : "integer" | |
15823 | }, | |
15824 | "bps_max_length" : { | |
15825 | "description" : "Maximum length of I/O bursts in seconds.", | |
15826 | "format_description" : "seconds", | |
15827 | "minimum" : 1, | |
15828 | "optional" : 1, | |
15829 | "type" : "integer" | |
15830 | }, | |
15831 | "bps_rd" : { | |
15832 | "description" : "Maximum read speed in bytes per second.", | |
15833 | "format_description" : "bps", | |
15834 | "optional" : 1, | |
15835 | "type" : "integer" | |
15836 | }, | |
15837 | "bps_rd_length" : { | |
15838 | "alias" : "bps_rd_max_length" | |
15839 | }, | |
15840 | "bps_rd_max_length" : { | |
15841 | "description" : "Maximum length of read I/O bursts in seconds.", | |
15842 | "format_description" : "seconds", | |
15843 | "minimum" : 1, | |
15844 | "optional" : 1, | |
15845 | "type" : "integer" | |
15846 | }, | |
15847 | "bps_wr" : { | |
15848 | "description" : "Maximum write speed in bytes per second.", | |
15849 | "format_description" : "bps", | |
15850 | "optional" : 1, | |
15851 | "type" : "integer" | |
15852 | }, | |
15853 | "bps_wr_length" : { | |
15854 | "alias" : "bps_wr_max_length" | |
15855 | }, | |
15856 | "bps_wr_max_length" : { | |
15857 | "description" : "Maximum length of write I/O bursts in seconds.", | |
15858 | "format_description" : "seconds", | |
15859 | "minimum" : 1, | |
15860 | "optional" : 1, | |
15861 | "type" : "integer" | |
15862 | }, | |
15863 | "cache" : { | |
15864 | "description" : "The drive's cache mode", | |
15865 | "enum" : [ | |
15866 | "none", | |
15867 | "writethrough", | |
15868 | "writeback", | |
15869 | "unsafe", | |
15870 | "directsync" | |
15871 | ], | |
15872 | "optional" : 1, | |
15873 | "type" : "string" | |
15874 | }, | |
15875 | "cyls" : { | |
15876 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
15877 | "optional" : 1, | |
15878 | "type" : "integer" | |
15879 | }, | |
15880 | "detect_zeroes" : { | |
15881 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
15882 | "optional" : 1, | |
15883 | "type" : "boolean" | |
15884 | }, | |
15885 | "discard" : { | |
15886 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
15887 | "enum" : [ | |
15888 | "ignore", | |
15889 | "on" | |
15890 | ], | |
15891 | "optional" : 1, | |
15892 | "type" : "string" | |
15893 | }, | |
15894 | "file" : { | |
15895 | "default_key" : 1, | |
15896 | "description" : "The drive's backing volume.", | |
15897 | "format" : "pve-volume-id-or-qm-path", | |
15898 | "format_description" : "volume", | |
15899 | "type" : "string" | |
15900 | }, | |
15901 | "format" : { | |
15902 | "description" : "The drive's backing file's data format.", | |
15903 | "enum" : [ | |
15904 | "raw", | |
15905 | "cow", | |
15906 | "qcow", | |
15907 | "qed", | |
15908 | "qcow2", | |
15909 | "vmdk", | |
15910 | "cloop" | |
15911 | ], | |
15912 | "optional" : 1, | |
15913 | "type" : "string" | |
15914 | }, | |
15915 | "heads" : { | |
15916 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
15917 | "optional" : 1, | |
15918 | "type" : "integer" | |
15919 | }, | |
15920 | "iops" : { | |
15921 | "description" : "Maximum r/w I/O in operations per second.", | |
15922 | "format_description" : "iops", | |
15923 | "optional" : 1, | |
15924 | "type" : "integer" | |
15925 | }, | |
15926 | "iops_max" : { | |
15927 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", | |
15928 | "format_description" : "iops", | |
15929 | "optional" : 1, | |
15930 | "type" : "integer" | |
15931 | }, | |
15932 | "iops_max_length" : { | |
15933 | "description" : "Maximum length of I/O bursts in seconds.", | |
15934 | "format_description" : "seconds", | |
15935 | "minimum" : 1, | |
15936 | "optional" : 1, | |
15937 | "type" : "integer" | |
15938 | }, | |
15939 | "iops_rd" : { | |
15940 | "description" : "Maximum read I/O in operations per second.", | |
15941 | "format_description" : "iops", | |
15942 | "optional" : 1, | |
15943 | "type" : "integer" | |
15944 | }, | |
15945 | "iops_rd_length" : { | |
15946 | "alias" : "iops_rd_max_length" | |
15947 | }, | |
15948 | "iops_rd_max" : { | |
15949 | "description" : "Maximum unthrottled read I/O pool in operations per second.", | |
15950 | "format_description" : "iops", | |
15951 | "optional" : 1, | |
15952 | "type" : "integer" | |
15953 | }, | |
15954 | "iops_rd_max_length" : { | |
15955 | "description" : "Maximum length of read I/O bursts in seconds.", | |
15956 | "format_description" : "seconds", | |
15957 | "minimum" : 1, | |
15958 | "optional" : 1, | |
15959 | "type" : "integer" | |
15960 | }, | |
15961 | "iops_wr" : { | |
15962 | "description" : "Maximum write I/O in operations per second.", | |
15963 | "format_description" : "iops", | |
15964 | "optional" : 1, | |
15965 | "type" : "integer" | |
15966 | }, | |
15967 | "iops_wr_length" : { | |
15968 | "alias" : "iops_wr_max_length" | |
15969 | }, | |
15970 | "iops_wr_max" : { | |
15971 | "description" : "Maximum unthrottled write I/O pool in operations per second.", | |
15972 | "format_description" : "iops", | |
15973 | "optional" : 1, | |
15974 | "type" : "integer" | |
15975 | }, | |
15976 | "iops_wr_max_length" : { | |
15977 | "description" : "Maximum length of write I/O bursts in seconds.", | |
15978 | "format_description" : "seconds", | |
15979 | "minimum" : 1, | |
15980 | "optional" : 1, | |
15981 | "type" : "integer" | |
15982 | }, | |
15983 | "mbps" : { | |
15984 | "description" : "Maximum r/w speed in megabytes per second.", | |
15985 | "format_description" : "mbps", | |
15986 | "optional" : 1, | |
15987 | "type" : "number" | |
15988 | }, | |
15989 | "mbps_max" : { | |
15990 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", | |
15991 | "format_description" : "mbps", | |
15992 | "optional" : 1, | |
15993 | "type" : "number" | |
15994 | }, | |
15995 | "mbps_rd" : { | |
15996 | "description" : "Maximum read speed in megabytes per second.", | |
15997 | "format_description" : "mbps", | |
15998 | "optional" : 1, | |
15999 | "type" : "number" | |
16000 | }, | |
16001 | "mbps_rd_max" : { | |
16002 | "description" : "Maximum unthrottled read pool in megabytes per second.", | |
16003 | "format_description" : "mbps", | |
16004 | "optional" : 1, | |
16005 | "type" : "number" | |
16006 | }, | |
16007 | "mbps_wr" : { | |
16008 | "description" : "Maximum write speed in megabytes per second.", | |
16009 | "format_description" : "mbps", | |
16010 | "optional" : 1, | |
16011 | "type" : "number" | |
16012 | }, | |
16013 | "mbps_wr_max" : { | |
16014 | "description" : "Maximum unthrottled write pool in megabytes per second.", | |
16015 | "format_description" : "mbps", | |
16016 | "optional" : 1, | |
16017 | "type" : "number" | |
16018 | }, | |
16019 | "media" : { | |
16020 | "default" : "disk", | |
16021 | "description" : "The drive's media type.", | |
16022 | "enum" : [ | |
16023 | "cdrom", | |
16024 | "disk" | |
16025 | ], | |
16026 | "optional" : 1, | |
16027 | "type" : "string" | |
16028 | }, | |
16029 | "replicate" : { | |
16030 | "default" : 1, | |
16031 | "description" : "Whether the drive should considered for replication jobs.", | |
16032 | "optional" : 1, | |
16033 | "type" : "boolean" | |
16034 | }, | |
16035 | "rerror" : { | |
16036 | "description" : "Read error action.", | |
16037 | "enum" : [ | |
16038 | "ignore", | |
16039 | "report", | |
16040 | "stop" | |
16041 | ], | |
16042 | "optional" : 1, | |
16043 | "type" : "string" | |
16044 | }, | |
16045 | "secs" : { | |
16046 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
16047 | "optional" : 1, | |
16048 | "type" : "integer" | |
16049 | }, | |
16050 | "serial" : { | |
16051 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
16052 | "format" : "urlencoded", | |
16053 | "format_description" : "serial", | |
16054 | "maxLength" : 60, | |
16055 | "optional" : 1, | |
16056 | "type" : "string" | |
16057 | }, | |
16058 | "shared" : { | |
16059 | "default" : 0, | |
16060 | "description" : "Mark this locally-managed volume as available on all nodes", | |
16061 | "optional" : 1, | |
16062 | "type" : "boolean", | |
16063 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
16064 | }, | |
16065 | "size" : { | |
16066 | "description" : "Disk size. This is purely informational and has no effect.", | |
16067 | "format" : "disk-size", | |
16068 | "format_description" : "DiskSize", | |
16069 | "optional" : 1, | |
16070 | "type" : "string" | |
16071 | }, | |
16072 | "snapshot" : { | |
16073 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", | |
16074 | "optional" : 1, | |
16075 | "type" : "boolean" | |
16076 | }, | |
25203dc1 NC |
16077 | "ssd" : { |
16078 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
16079 | "optional" : 1, | |
16080 | "type" : "boolean" | |
16081 | }, | |
4d47f125 TL |
16082 | "trans" : { |
16083 | "description" : "Force disk geometry bios translation mode.", | |
16084 | "enum" : [ | |
16085 | "none", | |
16086 | "lba", | |
16087 | "auto" | |
16088 | ], | |
16089 | "optional" : 1, | |
16090 | "type" : "string" | |
16091 | }, | |
16092 | "volume" : { | |
16093 | "alias" : "file" | |
16094 | }, | |
16095 | "werror" : { | |
16096 | "description" : "Write error action.", | |
16097 | "enum" : [ | |
16098 | "enospc", | |
16099 | "ignore", | |
16100 | "report", | |
16101 | "stop" | |
16102 | ], | |
16103 | "optional" : 1, | |
16104 | "type" : "string" | |
95895385 TL |
16105 | }, |
16106 | "wwn" : { | |
16107 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
16108 | "format_description" : "wwn", | |
16109 | "optional" : 1, | |
16110 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
16111 | "type" : "string" | |
4d47f125 TL |
16112 | } |
16113 | }, | |
16114 | "optional" : 1, | |
16115 | "type" : "string", | |
95895385 | 16116 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
4d47f125 TL |
16117 | }, |
16118 | "scsi[n]" : { | |
e9cd3bd4 | 16119 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).", |
4d47f125 TL |
16120 | "format" : { |
16121 | "aio" : { | |
16122 | "description" : "AIO type to use.", | |
16123 | "enum" : [ | |
16124 | "native", | |
16125 | "threads" | |
16126 | ], | |
16127 | "optional" : 1, | |
16128 | "type" : "string" | |
16129 | }, | |
16130 | "backup" : { | |
16131 | "description" : "Whether the drive should be included when making backups.", | |
16132 | "optional" : 1, | |
16133 | "type" : "boolean" | |
16134 | }, | |
16135 | "bps" : { | |
16136 | "description" : "Maximum r/w speed in bytes per second.", | |
16137 | "format_description" : "bps", | |
16138 | "optional" : 1, | |
16139 | "type" : "integer" | |
16140 | }, | |
16141 | "bps_max_length" : { | |
16142 | "description" : "Maximum length of I/O bursts in seconds.", | |
16143 | "format_description" : "seconds", | |
16144 | "minimum" : 1, | |
16145 | "optional" : 1, | |
16146 | "type" : "integer" | |
16147 | }, | |
16148 | "bps_rd" : { | |
16149 | "description" : "Maximum read speed in bytes per second.", | |
16150 | "format_description" : "bps", | |
16151 | "optional" : 1, | |
16152 | "type" : "integer" | |
16153 | }, | |
16154 | "bps_rd_length" : { | |
16155 | "alias" : "bps_rd_max_length" | |
16156 | }, | |
16157 | "bps_rd_max_length" : { | |
16158 | "description" : "Maximum length of read I/O bursts in seconds.", | |
16159 | "format_description" : "seconds", | |
16160 | "minimum" : 1, | |
16161 | "optional" : 1, | |
16162 | "type" : "integer" | |
16163 | }, | |
16164 | "bps_wr" : { | |
16165 | "description" : "Maximum write speed in bytes per second.", | |
16166 | "format_description" : "bps", | |
16167 | "optional" : 1, | |
16168 | "type" : "integer" | |
16169 | }, | |
16170 | "bps_wr_length" : { | |
16171 | "alias" : "bps_wr_max_length" | |
16172 | }, | |
16173 | "bps_wr_max_length" : { | |
16174 | "description" : "Maximum length of write I/O bursts in seconds.", | |
16175 | "format_description" : "seconds", | |
16176 | "minimum" : 1, | |
16177 | "optional" : 1, | |
16178 | "type" : "integer" | |
16179 | }, | |
16180 | "cache" : { | |
16181 | "description" : "The drive's cache mode", | |
16182 | "enum" : [ | |
16183 | "none", | |
16184 | "writethrough", | |
16185 | "writeback", | |
16186 | "unsafe", | |
16187 | "directsync" | |
16188 | ], | |
16189 | "optional" : 1, | |
16190 | "type" : "string" | |
16191 | }, | |
16192 | "cyls" : { | |
16193 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
16194 | "optional" : 1, | |
16195 | "type" : "integer" | |
16196 | }, | |
16197 | "detect_zeroes" : { | |
16198 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
16199 | "optional" : 1, | |
16200 | "type" : "boolean" | |
16201 | }, | |
16202 | "discard" : { | |
16203 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
16204 | "enum" : [ | |
16205 | "ignore", | |
16206 | "on" | |
16207 | ], | |
16208 | "optional" : 1, | |
16209 | "type" : "string" | |
16210 | }, | |
16211 | "file" : { | |
16212 | "default_key" : 1, | |
16213 | "description" : "The drive's backing volume.", | |
16214 | "format" : "pve-volume-id-or-qm-path", | |
16215 | "format_description" : "volume", | |
16216 | "type" : "string" | |
16217 | }, | |
16218 | "format" : { | |
16219 | "description" : "The drive's backing file's data format.", | |
16220 | "enum" : [ | |
16221 | "raw", | |
16222 | "cow", | |
16223 | "qcow", | |
16224 | "qed", | |
16225 | "qcow2", | |
16226 | "vmdk", | |
16227 | "cloop" | |
16228 | ], | |
16229 | "optional" : 1, | |
16230 | "type" : "string" | |
16231 | }, | |
16232 | "heads" : { | |
16233 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
16234 | "optional" : 1, | |
16235 | "type" : "integer" | |
16236 | }, | |
16237 | "iops" : { | |
16238 | "description" : "Maximum r/w I/O in operations per second.", | |
16239 | "format_description" : "iops", | |
16240 | "optional" : 1, | |
16241 | "type" : "integer" | |
16242 | }, | |
16243 | "iops_max" : { | |
16244 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", | |
16245 | "format_description" : "iops", | |
16246 | "optional" : 1, | |
16247 | "type" : "integer" | |
16248 | }, | |
16249 | "iops_max_length" : { | |
16250 | "description" : "Maximum length of I/O bursts in seconds.", | |
16251 | "format_description" : "seconds", | |
16252 | "minimum" : 1, | |
16253 | "optional" : 1, | |
16254 | "type" : "integer" | |
16255 | }, | |
16256 | "iops_rd" : { | |
16257 | "description" : "Maximum read I/O in operations per second.", | |
16258 | "format_description" : "iops", | |
16259 | "optional" : 1, | |
16260 | "type" : "integer" | |
16261 | }, | |
16262 | "iops_rd_length" : { | |
16263 | "alias" : "iops_rd_max_length" | |
16264 | }, | |
16265 | "iops_rd_max" : { | |
16266 | "description" : "Maximum unthrottled read I/O pool in operations per second.", | |
16267 | "format_description" : "iops", | |
16268 | "optional" : 1, | |
16269 | "type" : "integer" | |
16270 | }, | |
16271 | "iops_rd_max_length" : { | |
16272 | "description" : "Maximum length of read I/O bursts in seconds.", | |
16273 | "format_description" : "seconds", | |
16274 | "minimum" : 1, | |
16275 | "optional" : 1, | |
16276 | "type" : "integer" | |
16277 | }, | |
16278 | "iops_wr" : { | |
16279 | "description" : "Maximum write I/O in operations per second.", | |
16280 | "format_description" : "iops", | |
16281 | "optional" : 1, | |
16282 | "type" : "integer" | |
16283 | }, | |
16284 | "iops_wr_length" : { | |
16285 | "alias" : "iops_wr_max_length" | |
16286 | }, | |
16287 | "iops_wr_max" : { | |
16288 | "description" : "Maximum unthrottled write I/O pool in operations per second.", | |
16289 | "format_description" : "iops", | |
16290 | "optional" : 1, | |
16291 | "type" : "integer" | |
16292 | }, | |
16293 | "iops_wr_max_length" : { | |
16294 | "description" : "Maximum length of write I/O bursts in seconds.", | |
16295 | "format_description" : "seconds", | |
16296 | "minimum" : 1, | |
16297 | "optional" : 1, | |
16298 | "type" : "integer" | |
16299 | }, | |
16300 | "iothread" : { | |
16301 | "description" : "Whether to use iothreads for this drive", | |
16302 | "optional" : 1, | |
16303 | "type" : "boolean" | |
16304 | }, | |
16305 | "mbps" : { | |
16306 | "description" : "Maximum r/w speed in megabytes per second.", | |
16307 | "format_description" : "mbps", | |
16308 | "optional" : 1, | |
16309 | "type" : "number" | |
16310 | }, | |
16311 | "mbps_max" : { | |
16312 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", | |
16313 | "format_description" : "mbps", | |
16314 | "optional" : 1, | |
16315 | "type" : "number" | |
16316 | }, | |
16317 | "mbps_rd" : { | |
16318 | "description" : "Maximum read speed in megabytes per second.", | |
16319 | "format_description" : "mbps", | |
16320 | "optional" : 1, | |
16321 | "type" : "number" | |
16322 | }, | |
16323 | "mbps_rd_max" : { | |
16324 | "description" : "Maximum unthrottled read pool in megabytes per second.", | |
16325 | "format_description" : "mbps", | |
16326 | "optional" : 1, | |
16327 | "type" : "number" | |
16328 | }, | |
16329 | "mbps_wr" : { | |
16330 | "description" : "Maximum write speed in megabytes per second.", | |
16331 | "format_description" : "mbps", | |
16332 | "optional" : 1, | |
16333 | "type" : "number" | |
16334 | }, | |
16335 | "mbps_wr_max" : { | |
16336 | "description" : "Maximum unthrottled write pool in megabytes per second.", | |
16337 | "format_description" : "mbps", | |
16338 | "optional" : 1, | |
16339 | "type" : "number" | |
16340 | }, | |
16341 | "media" : { | |
16342 | "default" : "disk", | |
16343 | "description" : "The drive's media type.", | |
16344 | "enum" : [ | |
16345 | "cdrom", | |
16346 | "disk" | |
16347 | ], | |
16348 | "optional" : 1, | |
16349 | "type" : "string" | |
16350 | }, | |
16351 | "queues" : { | |
16352 | "description" : "Number of queues.", | |
16353 | "minimum" : 2, | |
16354 | "optional" : 1, | |
16355 | "type" : "integer" | |
16356 | }, | |
16357 | "replicate" : { | |
16358 | "default" : 1, | |
16359 | "description" : "Whether the drive should considered for replication jobs.", | |
16360 | "optional" : 1, | |
16361 | "type" : "boolean" | |
16362 | }, | |
16363 | "rerror" : { | |
16364 | "description" : "Read error action.", | |
16365 | "enum" : [ | |
16366 | "ignore", | |
16367 | "report", | |
16368 | "stop" | |
16369 | ], | |
16370 | "optional" : 1, | |
16371 | "type" : "string" | |
16372 | }, | |
16373 | "scsiblock" : { | |
16374 | "default" : 0, | |
16375 | "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host", | |
16376 | "optional" : 1, | |
16377 | "type" : "boolean" | |
16378 | }, | |
16379 | "secs" : { | |
16380 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
16381 | "optional" : 1, | |
16382 | "type" : "integer" | |
16383 | }, | |
16384 | "serial" : { | |
16385 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
16386 | "format" : "urlencoded", | |
16387 | "format_description" : "serial", | |
16388 | "maxLength" : 60, | |
16389 | "optional" : 1, | |
16390 | "type" : "string" | |
16391 | }, | |
16392 | "shared" : { | |
16393 | "default" : 0, | |
16394 | "description" : "Mark this locally-managed volume as available on all nodes", | |
16395 | "optional" : 1, | |
16396 | "type" : "boolean", | |
16397 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
16398 | }, | |
16399 | "size" : { | |
16400 | "description" : "Disk size. This is purely informational and has no effect.", | |
16401 | "format" : "disk-size", | |
16402 | "format_description" : "DiskSize", | |
16403 | "optional" : 1, | |
16404 | "type" : "string" | |
16405 | }, | |
16406 | "snapshot" : { | |
16407 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", | |
16408 | "optional" : 1, | |
16409 | "type" : "boolean" | |
16410 | }, | |
25203dc1 NC |
16411 | "ssd" : { |
16412 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
16413 | "optional" : 1, | |
16414 | "type" : "boolean" | |
16415 | }, | |
4d47f125 TL |
16416 | "trans" : { |
16417 | "description" : "Force disk geometry bios translation mode.", | |
16418 | "enum" : [ | |
16419 | "none", | |
16420 | "lba", | |
16421 | "auto" | |
16422 | ], | |
16423 | "optional" : 1, | |
16424 | "type" : "string" | |
16425 | }, | |
16426 | "volume" : { | |
16427 | "alias" : "file" | |
16428 | }, | |
16429 | "werror" : { | |
16430 | "description" : "Write error action.", | |
16431 | "enum" : [ | |
16432 | "enospc", | |
16433 | "ignore", | |
16434 | "report", | |
16435 | "stop" | |
16436 | ], | |
16437 | "optional" : 1, | |
16438 | "type" : "string" | |
95895385 TL |
16439 | }, |
16440 | "wwn" : { | |
16441 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
16442 | "format_description" : "wwn", | |
16443 | "optional" : 1, | |
16444 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
16445 | "type" : "string" | |
4d47f125 TL |
16446 | } |
16447 | }, | |
16448 | "optional" : 1, | |
16449 | "type" : "string", | |
95895385 | 16450 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
4d47f125 TL |
16451 | }, |
16452 | "scsihw" : { | |
16453 | "default" : "lsi", | |
16454 | "description" : "SCSI controller model", | |
16455 | "enum" : [ | |
16456 | "lsi", | |
16457 | "lsi53c810", | |
16458 | "virtio-scsi-pci", | |
16459 | "virtio-scsi-single", | |
16460 | "megasas", | |
16461 | "pvscsi" | |
16462 | ], | |
16463 | "optional" : 1, | |
16464 | "type" : "string" | |
16465 | }, | |
16466 | "searchdomain" : { | |
16467 | "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
16468 | "optional" : 1, | |
16469 | "type" : "string", | |
16470 | "typetext" : "<string>" | |
16471 | }, | |
16472 | "serial[n]" : { | |
16473 | "description" : "Create a serial device inside the VM (n is 0 to 3)", | |
16474 | "optional" : 1, | |
16475 | "pattern" : "(/dev/.+|socket)", | |
16476 | "type" : "string", | |
16477 | "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" | |
16478 | }, | |
16479 | "shares" : { | |
16480 | "default" : 1000, | |
16481 | "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. Auto-ballooning is done by pvestatd.", | |
16482 | "maximum" : 50000, | |
16483 | "minimum" : 0, | |
16484 | "optional" : 1, | |
16485 | "type" : "integer", | |
16486 | "typetext" : "<integer> (0 - 50000)" | |
16487 | }, | |
16488 | "skiplock" : { | |
16489 | "description" : "Ignore locks - only root is allowed to use this option.", | |
16490 | "optional" : 1, | |
16491 | "type" : "boolean", | |
16492 | "typetext" : "<boolean>" | |
16493 | }, | |
16494 | "smbios1" : { | |
16495 | "description" : "Specify SMBIOS type 1 fields.", | |
16496 | "format" : "pve-qm-smbios1", | |
1e3f8156 | 16497 | "maxLength" : 512, |
4d47f125 TL |
16498 | "optional" : 1, |
16499 | "type" : "string", | |
1e3f8156 | 16500 | "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]" |
4d47f125 TL |
16501 | }, |
16502 | "smp" : { | |
16503 | "default" : 1, | |
16504 | "description" : "The number of CPUs. Please use option -sockets instead.", | |
16505 | "minimum" : 1, | |
16506 | "optional" : 1, | |
16507 | "type" : "integer", | |
16508 | "typetext" : "<integer> (1 - N)" | |
16509 | }, | |
16510 | "sockets" : { | |
16511 | "default" : 1, | |
16512 | "description" : "The number of CPU sockets.", | |
16513 | "minimum" : 1, | |
16514 | "optional" : 1, | |
16515 | "type" : "integer", | |
16516 | "typetext" : "<integer> (1 - N)" | |
16517 | }, | |
1c532546 TL |
16518 | "spice_enhancements" : { |
16519 | "description" : "Configure additional enhancements for SPICE.", | |
16520 | "format" : { | |
16521 | "foldersharing" : { | |
16522 | "default" : "0", | |
16523 | "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.", | |
16524 | "optional" : 1, | |
16525 | "type" : "boolean" | |
16526 | }, | |
16527 | "videostreaming" : { | |
16528 | "default" : "off", | |
16529 | "description" : "Enable video streaming. Uses compression for detected video streams.", | |
16530 | "enum" : [ | |
16531 | "off", | |
16532 | "all", | |
16533 | "filter" | |
16534 | ], | |
16535 | "optional" : 1, | |
16536 | "type" : "string" | |
16537 | } | |
16538 | }, | |
16539 | "optional" : 1, | |
16540 | "type" : "string", | |
16541 | "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]" | |
16542 | }, | |
4d47f125 TL |
16543 | "sshkeys" : { |
16544 | "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).", | |
16545 | "format" : "urlencoded", | |
16546 | "optional" : 1, | |
16547 | "type" : "string", | |
16548 | "typetext" : "<string>" | |
16549 | }, | |
16550 | "startdate" : { | |
16551 | "default" : "now", | |
16552 | "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'.", | |
16553 | "optional" : 1, | |
16554 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", | |
16555 | "type" : "string", | |
16556 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" | |
16557 | }, | |
16558 | "startup" : { | |
16559 | "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.", | |
16560 | "format" : "pve-startup-order", | |
16561 | "optional" : 1, | |
16562 | "type" : "string", | |
16563 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
16564 | }, | |
16565 | "tablet" : { | |
16566 | "default" : 1, | |
16567 | "description" : "Enable/disable the USB tablet device.", | |
16568 | "optional" : 1, | |
16569 | "type" : "boolean", | |
16570 | "typetext" : "<boolean>", | |
16571 | "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)." | |
16572 | }, | |
5c1699e5 TL |
16573 | "tags" : { |
16574 | "description" : "Tags of the VM. This is only meta information.", | |
16575 | "format" : "pve-tag-list", | |
16576 | "optional" : 1, | |
16577 | "type" : "string", | |
16578 | "typetext" : "<string>" | |
16579 | }, | |
4d47f125 TL |
16580 | "tdf" : { |
16581 | "default" : 0, | |
16582 | "description" : "Enable/disable time drift fix.", | |
16583 | "optional" : 1, | |
16584 | "type" : "boolean", | |
16585 | "typetext" : "<boolean>" | |
16586 | }, | |
16587 | "template" : { | |
16588 | "default" : 0, | |
16589 | "description" : "Enable/disable Template.", | |
16590 | "optional" : 1, | |
16591 | "type" : "boolean", | |
16592 | "typetext" : "<boolean>" | |
16593 | }, | |
16594 | "unused[n]" : { | |
16595 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", | |
c5aa7e14 TL |
16596 | "format" : { |
16597 | "file" : { | |
16598 | "default_key" : 1, | |
16599 | "description" : "The drive's backing volume.", | |
16600 | "format" : "pve-volume-id", | |
16601 | "format_description" : "volume", | |
16602 | "type" : "string" | |
16603 | }, | |
16604 | "volume" : { | |
16605 | "alias" : "file" | |
16606 | } | |
16607 | }, | |
4d47f125 TL |
16608 | "optional" : 1, |
16609 | "type" : "string", | |
c5aa7e14 | 16610 | "typetext" : "[file=]<volume>" |
4d47f125 TL |
16611 | }, |
16612 | "usb[n]" : { | |
16613 | "description" : "Configure an USB device (n is 0 to 4).", | |
16614 | "format" : { | |
16615 | "host" : { | |
16616 | "default_key" : 1, | |
16617 | "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", | |
16618 | "format" : "pve-qm-usb-device", | |
16619 | "format_description" : "HOSTUSBDEVICE|spice", | |
16620 | "type" : "string" | |
16621 | }, | |
16622 | "usb3" : { | |
16623 | "default" : 0, | |
1c532546 | 16624 | "description" : "Specifies whether if given host option is a USB3 device or port.", |
4d47f125 TL |
16625 | "optional" : 1, |
16626 | "type" : "boolean" | |
16627 | } | |
16628 | }, | |
16629 | "optional" : 1, | |
16630 | "type" : "string", | |
16631 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
16632 | }, | |
16633 | "vcpus" : { | |
16634 | "default" : 0, | |
16635 | "description" : "Number of hotplugged vcpus.", | |
16636 | "minimum" : 1, | |
16637 | "optional" : 1, | |
16638 | "type" : "integer", | |
16639 | "typetext" : "<integer> (1 - N)" | |
16640 | }, | |
16641 | "vga" : { | |
e2d681b3 TL |
16642 | "description" : "Configure the VGA hardware.", |
16643 | "format" : { | |
16644 | "memory" : { | |
16645 | "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.", | |
16646 | "maximum" : 512, | |
16647 | "minimum" : 4, | |
16648 | "optional" : 1, | |
16649 | "type" : "integer" | |
16650 | }, | |
16651 | "type" : { | |
16652 | "default" : "std", | |
16653 | "default_key" : 1, | |
16654 | "description" : "Select the VGA type.", | |
16655 | "enum" : [ | |
16656 | "cirrus", | |
16657 | "qxl", | |
16658 | "qxl2", | |
16659 | "qxl3", | |
16660 | "qxl4", | |
5f26e15b | 16661 | "none", |
e2d681b3 TL |
16662 | "serial0", |
16663 | "serial1", | |
16664 | "serial2", | |
16665 | "serial3", | |
16666 | "std", | |
16667 | "virtio", | |
16668 | "vmware" | |
16669 | ], | |
16670 | "optional" : 1, | |
16671 | "type" : "string" | |
16672 | } | |
16673 | }, | |
4d47f125 TL |
16674 | "optional" : 1, |
16675 | "type" : "string", | |
e2d681b3 TL |
16676 | "typetext" : "[[type=]<enum>] [,memory=<integer>]", |
16677 | "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal." | |
4d47f125 TL |
16678 | }, |
16679 | "virtio[n]" : { | |
16680 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
16681 | "format" : { | |
16682 | "aio" : { | |
16683 | "description" : "AIO type to use.", | |
16684 | "enum" : [ | |
16685 | "native", | |
16686 | "threads" | |
16687 | ], | |
16688 | "optional" : 1, | |
16689 | "type" : "string" | |
16690 | }, | |
16691 | "backup" : { | |
16692 | "description" : "Whether the drive should be included when making backups.", | |
16693 | "optional" : 1, | |
16694 | "type" : "boolean" | |
16695 | }, | |
16696 | "bps" : { | |
16697 | "description" : "Maximum r/w speed in bytes per second.", | |
16698 | "format_description" : "bps", | |
16699 | "optional" : 1, | |
16700 | "type" : "integer" | |
16701 | }, | |
16702 | "bps_max_length" : { | |
16703 | "description" : "Maximum length of I/O bursts in seconds.", | |
16704 | "format_description" : "seconds", | |
16705 | "minimum" : 1, | |
16706 | "optional" : 1, | |
16707 | "type" : "integer" | |
16708 | }, | |
16709 | "bps_rd" : { | |
16710 | "description" : "Maximum read speed in bytes per second.", | |
16711 | "format_description" : "bps", | |
16712 | "optional" : 1, | |
16713 | "type" : "integer" | |
16714 | }, | |
16715 | "bps_rd_length" : { | |
16716 | "alias" : "bps_rd_max_length" | |
16717 | }, | |
16718 | "bps_rd_max_length" : { | |
16719 | "description" : "Maximum length of read I/O bursts in seconds.", | |
16720 | "format_description" : "seconds", | |
16721 | "minimum" : 1, | |
16722 | "optional" : 1, | |
16723 | "type" : "integer" | |
16724 | }, | |
16725 | "bps_wr" : { | |
16726 | "description" : "Maximum write speed in bytes per second.", | |
16727 | "format_description" : "bps", | |
16728 | "optional" : 1, | |
16729 | "type" : "integer" | |
16730 | }, | |
16731 | "bps_wr_length" : { | |
16732 | "alias" : "bps_wr_max_length" | |
16733 | }, | |
16734 | "bps_wr_max_length" : { | |
16735 | "description" : "Maximum length of write I/O bursts in seconds.", | |
16736 | "format_description" : "seconds", | |
16737 | "minimum" : 1, | |
16738 | "optional" : 1, | |
16739 | "type" : "integer" | |
16740 | }, | |
16741 | "cache" : { | |
16742 | "description" : "The drive's cache mode", | |
16743 | "enum" : [ | |
16744 | "none", | |
16745 | "writethrough", | |
16746 | "writeback", | |
16747 | "unsafe", | |
16748 | "directsync" | |
16749 | ], | |
16750 | "optional" : 1, | |
16751 | "type" : "string" | |
16752 | }, | |
16753 | "cyls" : { | |
16754 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
16755 | "optional" : 1, | |
16756 | "type" : "integer" | |
16757 | }, | |
16758 | "detect_zeroes" : { | |
16759 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
16760 | "optional" : 1, | |
16761 | "type" : "boolean" | |
16762 | }, | |
16763 | "discard" : { | |
16764 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
16765 | "enum" : [ | |
16766 | "ignore", | |
16767 | "on" | |
16768 | ], | |
16769 | "optional" : 1, | |
16770 | "type" : "string" | |
16771 | }, | |
16772 | "file" : { | |
16773 | "default_key" : 1, | |
16774 | "description" : "The drive's backing volume.", | |
16775 | "format" : "pve-volume-id-or-qm-path", | |
16776 | "format_description" : "volume", | |
16777 | "type" : "string" | |
16778 | }, | |
16779 | "format" : { | |
16780 | "description" : "The drive's backing file's data format.", | |
16781 | "enum" : [ | |
16782 | "raw", | |
16783 | "cow", | |
16784 | "qcow", | |
16785 | "qed", | |
16786 | "qcow2", | |
16787 | "vmdk", | |
16788 | "cloop" | |
16789 | ], | |
16790 | "optional" : 1, | |
16791 | "type" : "string" | |
16792 | }, | |
16793 | "heads" : { | |
16794 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
16795 | "optional" : 1, | |
16796 | "type" : "integer" | |
16797 | }, | |
16798 | "iops" : { | |
16799 | "description" : "Maximum r/w I/O in operations per second.", | |
16800 | "format_description" : "iops", | |
16801 | "optional" : 1, | |
16802 | "type" : "integer" | |
16803 | }, | |
16804 | "iops_max" : { | |
16805 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", | |
16806 | "format_description" : "iops", | |
16807 | "optional" : 1, | |
16808 | "type" : "integer" | |
16809 | }, | |
16810 | "iops_max_length" : { | |
16811 | "description" : "Maximum length of I/O bursts in seconds.", | |
16812 | "format_description" : "seconds", | |
16813 | "minimum" : 1, | |
16814 | "optional" : 1, | |
16815 | "type" : "integer" | |
16816 | }, | |
16817 | "iops_rd" : { | |
16818 | "description" : "Maximum read I/O in operations per second.", | |
16819 | "format_description" : "iops", | |
16820 | "optional" : 1, | |
16821 | "type" : "integer" | |
16822 | }, | |
16823 | "iops_rd_length" : { | |
16824 | "alias" : "iops_rd_max_length" | |
16825 | }, | |
16826 | "iops_rd_max" : { | |
16827 | "description" : "Maximum unthrottled read I/O pool in operations per second.", | |
16828 | "format_description" : "iops", | |
16829 | "optional" : 1, | |
16830 | "type" : "integer" | |
16831 | }, | |
16832 | "iops_rd_max_length" : { | |
16833 | "description" : "Maximum length of read I/O bursts in seconds.", | |
16834 | "format_description" : "seconds", | |
16835 | "minimum" : 1, | |
16836 | "optional" : 1, | |
16837 | "type" : "integer" | |
16838 | }, | |
16839 | "iops_wr" : { | |
16840 | "description" : "Maximum write I/O in operations per second.", | |
16841 | "format_description" : "iops", | |
16842 | "optional" : 1, | |
16843 | "type" : "integer" | |
16844 | }, | |
16845 | "iops_wr_length" : { | |
16846 | "alias" : "iops_wr_max_length" | |
16847 | }, | |
16848 | "iops_wr_max" : { | |
16849 | "description" : "Maximum unthrottled write I/O pool in operations per second.", | |
16850 | "format_description" : "iops", | |
16851 | "optional" : 1, | |
16852 | "type" : "integer" | |
16853 | }, | |
16854 | "iops_wr_max_length" : { | |
16855 | "description" : "Maximum length of write I/O bursts in seconds.", | |
16856 | "format_description" : "seconds", | |
16857 | "minimum" : 1, | |
16858 | "optional" : 1, | |
16859 | "type" : "integer" | |
16860 | }, | |
16861 | "iothread" : { | |
16862 | "description" : "Whether to use iothreads for this drive", | |
16863 | "optional" : 1, | |
16864 | "type" : "boolean" | |
16865 | }, | |
16866 | "mbps" : { | |
16867 | "description" : "Maximum r/w speed in megabytes per second.", | |
16868 | "format_description" : "mbps", | |
16869 | "optional" : 1, | |
16870 | "type" : "number" | |
16871 | }, | |
16872 | "mbps_max" : { | |
16873 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", | |
16874 | "format_description" : "mbps", | |
16875 | "optional" : 1, | |
16876 | "type" : "number" | |
16877 | }, | |
16878 | "mbps_rd" : { | |
16879 | "description" : "Maximum read speed in megabytes per second.", | |
16880 | "format_description" : "mbps", | |
16881 | "optional" : 1, | |
16882 | "type" : "number" | |
16883 | }, | |
16884 | "mbps_rd_max" : { | |
16885 | "description" : "Maximum unthrottled read pool in megabytes per second.", | |
16886 | "format_description" : "mbps", | |
16887 | "optional" : 1, | |
16888 | "type" : "number" | |
16889 | }, | |
16890 | "mbps_wr" : { | |
16891 | "description" : "Maximum write speed in megabytes per second.", | |
16892 | "format_description" : "mbps", | |
16893 | "optional" : 1, | |
16894 | "type" : "number" | |
16895 | }, | |
16896 | "mbps_wr_max" : { | |
16897 | "description" : "Maximum unthrottled write pool in megabytes per second.", | |
16898 | "format_description" : "mbps", | |
16899 | "optional" : 1, | |
16900 | "type" : "number" | |
16901 | }, | |
16902 | "media" : { | |
16903 | "default" : "disk", | |
16904 | "description" : "The drive's media type.", | |
16905 | "enum" : [ | |
16906 | "cdrom", | |
16907 | "disk" | |
16908 | ], | |
16909 | "optional" : 1, | |
16910 | "type" : "string" | |
16911 | }, | |
16912 | "replicate" : { | |
16913 | "default" : 1, | |
16914 | "description" : "Whether the drive should considered for replication jobs.", | |
16915 | "optional" : 1, | |
16916 | "type" : "boolean" | |
16917 | }, | |
16918 | "rerror" : { | |
16919 | "description" : "Read error action.", | |
16920 | "enum" : [ | |
16921 | "ignore", | |
16922 | "report", | |
16923 | "stop" | |
16924 | ], | |
16925 | "optional" : 1, | |
16926 | "type" : "string" | |
16927 | }, | |
16928 | "secs" : { | |
16929 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
16930 | "optional" : 1, | |
16931 | "type" : "integer" | |
16932 | }, | |
16933 | "serial" : { | |
16934 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
16935 | "format" : "urlencoded", | |
16936 | "format_description" : "serial", | |
16937 | "maxLength" : 60, | |
16938 | "optional" : 1, | |
16939 | "type" : "string" | |
16940 | }, | |
16941 | "shared" : { | |
16942 | "default" : 0, | |
16943 | "description" : "Mark this locally-managed volume as available on all nodes", | |
16944 | "optional" : 1, | |
16945 | "type" : "boolean", | |
16946 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
16947 | }, | |
16948 | "size" : { | |
16949 | "description" : "Disk size. This is purely informational and has no effect.", | |
16950 | "format" : "disk-size", | |
16951 | "format_description" : "DiskSize", | |
16952 | "optional" : 1, | |
16953 | "type" : "string" | |
16954 | }, | |
16955 | "snapshot" : { | |
16956 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", | |
16957 | "optional" : 1, | |
16958 | "type" : "boolean" | |
16959 | }, | |
16960 | "trans" : { | |
16961 | "description" : "Force disk geometry bios translation mode.", | |
16962 | "enum" : [ | |
16963 | "none", | |
16964 | "lba", | |
16965 | "auto" | |
16966 | ], | |
16967 | "optional" : 1, | |
16968 | "type" : "string" | |
16969 | }, | |
16970 | "volume" : { | |
16971 | "alias" : "file" | |
16972 | }, | |
16973 | "werror" : { | |
16974 | "description" : "Write error action.", | |
16975 | "enum" : [ | |
16976 | "enospc", | |
16977 | "ignore", | |
16978 | "report", | |
16979 | "stop" | |
16980 | ], | |
16981 | "optional" : 1, | |
16982 | "type" : "string" | |
16983 | } | |
16984 | }, | |
16985 | "optional" : 1, | |
16986 | "type" : "string", | |
16987 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" | |
16988 | }, | |
16989 | "vmgenid" : { | |
16990 | "default" : "1 (autogenerated)", | |
16991 | "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.", | |
16992 | "format_description" : "UUID", | |
16993 | "optional" : 1, | |
16994 | "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])", | |
16995 | "type" : "string", | |
16996 | "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file." | |
16997 | }, | |
16998 | "vmid" : { | |
16999 | "description" : "The (unique) ID of the VM.", | |
17000 | "format" : "pve-vmid", | |
17001 | "minimum" : 1, | |
17002 | "type" : "integer", | |
17003 | "typetext" : "<integer> (1 - N)" | |
17004 | }, | |
17005 | "vmstatestorage" : { | |
17006 | "description" : "Default storage for VM state volumes/files.", | |
17007 | "format" : "pve-storage-id", | |
17008 | "optional" : 1, | |
17009 | "type" : "string", | |
17010 | "typetext" : "<string>" | |
17011 | }, | |
17012 | "watchdog" : { | |
17013 | "description" : "Create a virtual hardware watchdog device.", | |
17014 | "format" : "pve-qm-watchdog", | |
17015 | "optional" : 1, | |
17016 | "type" : "string", | |
17017 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", | |
17018 | "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)" | |
17019 | } | |
17020 | } | |
17021 | }, | |
17022 | "permissions" : { | |
17023 | "check" : [ | |
17024 | "perm", | |
17025 | "/vms/{vmid}", | |
17026 | [ | |
17027 | "VM.Config.Disk", | |
17028 | "VM.Config.CDROM", | |
17029 | "VM.Config.CPU", | |
17030 | "VM.Config.Memory", | |
17031 | "VM.Config.Network", | |
17032 | "VM.Config.HWType", | |
17033 | "VM.Config.Options" | |
17034 | ], | |
17035 | "any", | |
17036 | 1 | |
17037 | ] | |
17038 | }, | |
17039 | "protected" : 1, | |
17040 | "proxyto" : "node", | |
17041 | "returns" : { | |
17042 | "type" : "null" | |
17043 | } | |
17044 | } | |
17045 | }, | |
17046 | "leaf" : 1, | |
17047 | "path" : "/nodes/{node}/qemu/{vmid}/config", | |
17048 | "text" : "config" | |
17049 | }, | |
17050 | { | |
17051 | "info" : { | |
17052 | "GET" : { | |
e9cd3bd4 TL |
17053 | "allowtoken" : 1, |
17054 | "description" : "Get the virtual machine configuration with both current and pending values.", | |
4d47f125 TL |
17055 | "method" : "GET", |
17056 | "name" : "vm_pending", | |
17057 | "parameters" : { | |
17058 | "additionalProperties" : 0, | |
17059 | "properties" : { | |
17060 | "node" : { | |
17061 | "description" : "The cluster node name.", | |
17062 | "format" : "pve-node", | |
17063 | "type" : "string", | |
17064 | "typetext" : "<string>" | |
17065 | }, | |
17066 | "vmid" : { | |
17067 | "description" : "The (unique) ID of the VM.", | |
17068 | "format" : "pve-vmid", | |
17069 | "minimum" : 1, | |
17070 | "type" : "integer", | |
17071 | "typetext" : "<integer> (1 - N)" | |
17072 | } | |
17073 | } | |
17074 | }, | |
17075 | "permissions" : { | |
17076 | "check" : [ | |
17077 | "perm", | |
17078 | "/vms/{vmid}", | |
17079 | [ | |
17080 | "VM.Audit" | |
17081 | ] | |
17082 | ] | |
17083 | }, | |
17084 | "proxyto" : "node", | |
17085 | "returns" : { | |
17086 | "items" : { | |
17087 | "properties" : { | |
17088 | "delete" : { | |
17089 | "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.", | |
17090 | "maximum" : 2, | |
17091 | "minimum" : 0, | |
17092 | "optional" : 1, | |
17093 | "type" : "integer" | |
17094 | }, | |
17095 | "key" : { | |
17096 | "description" : "Configuration option name.", | |
17097 | "type" : "string" | |
17098 | }, | |
17099 | "pending" : { | |
17100 | "description" : "Pending value.", | |
17101 | "optional" : 1, | |
17102 | "type" : "string" | |
17103 | }, | |
17104 | "value" : { | |
17105 | "description" : "Current value.", | |
17106 | "optional" : 1, | |
17107 | "type" : "string" | |
17108 | } | |
17109 | }, | |
17110 | "type" : "object" | |
17111 | }, | |
17112 | "type" : "array" | |
17113 | } | |
17114 | } | |
17115 | }, | |
17116 | "leaf" : 1, | |
17117 | "path" : "/nodes/{node}/qemu/{vmid}/pending", | |
17118 | "text" : "pending" | |
17119 | }, | |
17120 | { | |
17121 | "info" : { | |
17122 | "PUT" : { | |
e9cd3bd4 | 17123 | "allowtoken" : 1, |
4d47f125 TL |
17124 | "description" : "Unlink/delete disk images.", |
17125 | "method" : "PUT", | |
17126 | "name" : "unlink", | |
17127 | "parameters" : { | |
17128 | "additionalProperties" : 0, | |
17129 | "properties" : { | |
17130 | "force" : { | |
17131 | "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.", | |
17132 | "optional" : 1, | |
17133 | "type" : "boolean", | |
17134 | "typetext" : "<boolean>" | |
17135 | }, | |
17136 | "idlist" : { | |
17137 | "description" : "A list of disk IDs you want to delete.", | |
17138 | "format" : "pve-configid-list", | |
17139 | "type" : "string", | |
17140 | "typetext" : "<string>" | |
17141 | }, | |
17142 | "node" : { | |
17143 | "description" : "The cluster node name.", | |
17144 | "format" : "pve-node", | |
17145 | "type" : "string", | |
17146 | "typetext" : "<string>" | |
17147 | }, | |
17148 | "vmid" : { | |
17149 | "description" : "The (unique) ID of the VM.", | |
17150 | "format" : "pve-vmid", | |
17151 | "minimum" : 1, | |
17152 | "type" : "integer", | |
17153 | "typetext" : "<integer> (1 - N)" | |
17154 | } | |
17155 | } | |
17156 | }, | |
17157 | "permissions" : { | |
17158 | "check" : [ | |
17159 | "perm", | |
17160 | "/vms/{vmid}", | |
17161 | [ | |
17162 | "VM.Config.Disk" | |
17163 | ] | |
17164 | ] | |
17165 | }, | |
17166 | "protected" : 1, | |
17167 | "proxyto" : "node", | |
17168 | "returns" : { | |
17169 | "type" : "null" | |
17170 | } | |
17171 | } | |
17172 | }, | |
17173 | "leaf" : 1, | |
17174 | "path" : "/nodes/{node}/qemu/{vmid}/unlink", | |
17175 | "text" : "unlink" | |
17176 | }, | |
17177 | { | |
17178 | "info" : { | |
17179 | "POST" : { | |
e9cd3bd4 | 17180 | "allowtoken" : 1, |
4d47f125 TL |
17181 | "description" : "Creates a TCP VNC proxy connections.", |
17182 | "method" : "POST", | |
17183 | "name" : "vncproxy", | |
17184 | "parameters" : { | |
17185 | "additionalProperties" : 0, | |
17186 | "properties" : { | |
17187 | "node" : { | |
17188 | "description" : "The cluster node name.", | |
17189 | "format" : "pve-node", | |
17190 | "type" : "string", | |
17191 | "typetext" : "<string>" | |
17192 | }, | |
17193 | "vmid" : { | |
17194 | "description" : "The (unique) ID of the VM.", | |
17195 | "format" : "pve-vmid", | |
17196 | "minimum" : 1, | |
17197 | "type" : "integer", | |
17198 | "typetext" : "<integer> (1 - N)" | |
17199 | }, | |
17200 | "websocket" : { | |
17201 | "description" : "starts websockify instead of vncproxy", | |
17202 | "optional" : 1, | |
17203 | "type" : "boolean", | |
17204 | "typetext" : "<boolean>" | |
17205 | } | |
17206 | } | |
17207 | }, | |
17208 | "permissions" : { | |
17209 | "check" : [ | |
17210 | "perm", | |
17211 | "/vms/{vmid}", | |
17212 | [ | |
17213 | "VM.Console" | |
17214 | ] | |
17215 | ] | |
17216 | }, | |
17217 | "protected" : 1, | |
17218 | "returns" : { | |
17219 | "additionalProperties" : 0, | |
17220 | "properties" : { | |
17221 | "cert" : { | |
17222 | "type" : "string" | |
17223 | }, | |
17224 | "port" : { | |
17225 | "type" : "integer" | |
17226 | }, | |
17227 | "ticket" : { | |
17228 | "type" : "string" | |
17229 | }, | |
17230 | "upid" : { | |
17231 | "type" : "string" | |
17232 | }, | |
17233 | "user" : { | |
17234 | "type" : "string" | |
17235 | } | |
17236 | } | |
17237 | } | |
17238 | } | |
17239 | }, | |
17240 | "leaf" : 1, | |
17241 | "path" : "/nodes/{node}/qemu/{vmid}/vncproxy", | |
17242 | "text" : "vncproxy" | |
17243 | }, | |
17244 | { | |
17245 | "info" : { | |
17246 | "POST" : { | |
e9cd3bd4 | 17247 | "allowtoken" : 1, |
4d47f125 TL |
17248 | "description" : "Creates a TCP proxy connections.", |
17249 | "method" : "POST", | |
17250 | "name" : "termproxy", | |
17251 | "parameters" : { | |
17252 | "additionalProperties" : 0, | |
17253 | "properties" : { | |
17254 | "node" : { | |
17255 | "description" : "The cluster node name.", | |
17256 | "format" : "pve-node", | |
17257 | "type" : "string", | |
17258 | "typetext" : "<string>" | |
17259 | }, | |
17260 | "serial" : { | |
17261 | "description" : "opens a serial terminal (defaults to display)", | |
17262 | "enum" : [ | |
17263 | "serial0", | |
17264 | "serial1", | |
17265 | "serial2", | |
17266 | "serial3" | |
17267 | ], | |
17268 | "optional" : 1, | |
17269 | "type" : "string" | |
17270 | }, | |
17271 | "vmid" : { | |
17272 | "description" : "The (unique) ID of the VM.", | |
17273 | "format" : "pve-vmid", | |
17274 | "minimum" : 1, | |
17275 | "type" : "integer", | |
17276 | "typetext" : "<integer> (1 - N)" | |
17277 | } | |
17278 | } | |
17279 | }, | |
17280 | "permissions" : { | |
17281 | "check" : [ | |
17282 | "perm", | |
17283 | "/vms/{vmid}", | |
17284 | [ | |
17285 | "VM.Console" | |
17286 | ] | |
17287 | ] | |
17288 | }, | |
17289 | "protected" : 1, | |
17290 | "returns" : { | |
17291 | "additionalProperties" : 0, | |
17292 | "properties" : { | |
17293 | "port" : { | |
17294 | "type" : "integer" | |
17295 | }, | |
17296 | "ticket" : { | |
17297 | "type" : "string" | |
17298 | }, | |
17299 | "upid" : { | |
17300 | "type" : "string" | |
17301 | }, | |
17302 | "user" : { | |
17303 | "type" : "string" | |
17304 | } | |
17305 | } | |
17306 | } | |
17307 | } | |
17308 | }, | |
17309 | "leaf" : 1, | |
17310 | "path" : "/nodes/{node}/qemu/{vmid}/termproxy", | |
17311 | "text" : "termproxy" | |
17312 | }, | |
17313 | { | |
17314 | "info" : { | |
17315 | "GET" : { | |
e9cd3bd4 | 17316 | "allowtoken" : 1, |
4d47f125 TL |
17317 | "description" : "Opens a weksocket for VNC traffic.", |
17318 | "method" : "GET", | |
17319 | "name" : "vncwebsocket", | |
17320 | "parameters" : { | |
17321 | "additionalProperties" : 0, | |
17322 | "properties" : { | |
17323 | "node" : { | |
17324 | "description" : "The cluster node name.", | |
17325 | "format" : "pve-node", | |
17326 | "type" : "string", | |
17327 | "typetext" : "<string>" | |
17328 | }, | |
17329 | "port" : { | |
17330 | "description" : "Port number returned by previous vncproxy call.", | |
17331 | "maximum" : 5999, | |
17332 | "minimum" : 5900, | |
17333 | "type" : "integer", | |
17334 | "typetext" : "<integer> (5900 - 5999)" | |
17335 | }, | |
17336 | "vmid" : { | |
17337 | "description" : "The (unique) ID of the VM.", | |
17338 | "format" : "pve-vmid", | |
17339 | "minimum" : 1, | |
17340 | "type" : "integer", | |
17341 | "typetext" : "<integer> (1 - N)" | |
17342 | }, | |
17343 | "vncticket" : { | |
17344 | "description" : "Ticket from previous call to vncproxy.", | |
17345 | "maxLength" : 512, | |
17346 | "type" : "string", | |
17347 | "typetext" : "<string>" | |
17348 | } | |
17349 | } | |
17350 | }, | |
17351 | "permissions" : { | |
17352 | "check" : [ | |
17353 | "perm", | |
17354 | "/vms/{vmid}", | |
17355 | [ | |
17356 | "VM.Console" | |
17357 | ] | |
17358 | ], | |
17359 | "description" : "You also need to pass a valid ticket (vncticket)." | |
17360 | }, | |
17361 | "returns" : { | |
17362 | "properties" : { | |
17363 | "port" : { | |
17364 | "type" : "string" | |
17365 | } | |
17366 | }, | |
17367 | "type" : "object" | |
17368 | } | |
17369 | } | |
17370 | }, | |
17371 | "leaf" : 1, | |
17372 | "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket", | |
17373 | "text" : "vncwebsocket" | |
17374 | }, | |
17375 | { | |
17376 | "info" : { | |
17377 | "POST" : { | |
e9cd3bd4 | 17378 | "allowtoken" : 1, |
4d47f125 TL |
17379 | "description" : "Returns a SPICE configuration to connect to the VM.", |
17380 | "method" : "POST", | |
17381 | "name" : "spiceproxy", | |
17382 | "parameters" : { | |
17383 | "additionalProperties" : 0, | |
17384 | "properties" : { | |
17385 | "node" : { | |
17386 | "description" : "The cluster node name.", | |
17387 | "format" : "pve-node", | |
17388 | "type" : "string", | |
17389 | "typetext" : "<string>" | |
17390 | }, | |
17391 | "proxy" : { | |
17392 | "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 reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", | |
17393 | "format" : "address", | |
17394 | "optional" : 1, | |
17395 | "type" : "string", | |
17396 | "typetext" : "<string>" | |
17397 | }, | |
17398 | "vmid" : { | |
17399 | "description" : "The (unique) ID of the VM.", | |
17400 | "format" : "pve-vmid", | |
17401 | "minimum" : 1, | |
17402 | "type" : "integer", | |
17403 | "typetext" : "<integer> (1 - N)" | |
17404 | } | |
17405 | } | |
17406 | }, | |
17407 | "permissions" : { | |
17408 | "check" : [ | |
17409 | "perm", | |
17410 | "/vms/{vmid}", | |
17411 | [ | |
17412 | "VM.Console" | |
17413 | ] | |
17414 | ] | |
17415 | }, | |
17416 | "protected" : 1, | |
17417 | "proxyto" : "node", | |
17418 | "returns" : { | |
17419 | "additionalProperties" : 1, | |
17420 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", | |
17421 | "properties" : { | |
17422 | "host" : { | |
17423 | "type" : "string" | |
17424 | }, | |
17425 | "password" : { | |
17426 | "type" : "string" | |
17427 | }, | |
17428 | "proxy" : { | |
17429 | "type" : "string" | |
17430 | }, | |
17431 | "tls-port" : { | |
17432 | "type" : "integer" | |
17433 | }, | |
17434 | "type" : { | |
17435 | "type" : "string" | |
17436 | } | |
17437 | } | |
17438 | } | |
17439 | } | |
17440 | }, | |
17441 | "leaf" : 1, | |
17442 | "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy", | |
17443 | "text" : "spiceproxy" | |
17444 | }, | |
17445 | { | |
17446 | "children" : [ | |
17447 | { | |
17448 | "info" : { | |
17449 | "GET" : { | |
e9cd3bd4 | 17450 | "allowtoken" : 1, |
4d47f125 TL |
17451 | "description" : "Get virtual machine status.", |
17452 | "method" : "GET", | |
17453 | "name" : "vm_status", | |
17454 | "parameters" : { | |
17455 | "additionalProperties" : 0, | |
17456 | "properties" : { | |
17457 | "node" : { | |
17458 | "description" : "The cluster node name.", | |
17459 | "format" : "pve-node", | |
17460 | "type" : "string", | |
17461 | "typetext" : "<string>" | |
17462 | }, | |
17463 | "vmid" : { | |
17464 | "description" : "The (unique) ID of the VM.", | |
17465 | "format" : "pve-vmid", | |
17466 | "minimum" : 1, | |
17467 | "type" : "integer", | |
17468 | "typetext" : "<integer> (1 - N)" | |
17469 | } | |
17470 | } | |
17471 | }, | |
17472 | "permissions" : { | |
17473 | "check" : [ | |
17474 | "perm", | |
17475 | "/vms/{vmid}", | |
17476 | [ | |
17477 | "VM.Audit" | |
17478 | ] | |
17479 | ] | |
17480 | }, | |
17481 | "protected" : 1, | |
17482 | "proxyto" : "node", | |
17483 | "returns" : { | |
17484 | "properties" : { | |
17485 | "agent" : { | |
17486 | "description" : "Qemu GuestAgent enabled in config.", | |
17487 | "optional" : 1, | |
17488 | "type" : "boolean" | |
17489 | }, | |
17490 | "cpus" : { | |
17491 | "description" : "Maximum usable CPUs.", | |
17492 | "optional" : 1, | |
17493 | "type" : "number" | |
17494 | }, | |
17495 | "ha" : { | |
17496 | "description" : "HA manager service status.", | |
17497 | "type" : "object" | |
17498 | }, | |
95895385 TL |
17499 | "lock" : { |
17500 | "description" : "The current config lock, if any.", | |
17501 | "optional" : 1, | |
17502 | "type" : "string" | |
17503 | }, | |
4d47f125 TL |
17504 | "maxdisk" : { |
17505 | "description" : "Root disk size in bytes.", | |
17506 | "optional" : 1, | |
17507 | "renderer" : "bytes", | |
17508 | "type" : "integer" | |
17509 | }, | |
17510 | "maxmem" : { | |
17511 | "description" : "Maximum memory in bytes.", | |
17512 | "optional" : 1, | |
17513 | "renderer" : "bytes", | |
17514 | "type" : "integer" | |
17515 | }, | |
17516 | "name" : { | |
17517 | "description" : "VM name.", | |
17518 | "optional" : 1, | |
17519 | "type" : "string" | |
17520 | }, | |
17521 | "pid" : { | |
17522 | "description" : "PID of running qemu process.", | |
17523 | "optional" : 1, | |
17524 | "type" : "integer" | |
17525 | }, | |
17526 | "qmpstatus" : { | |
17527 | "description" : "Qemu QMP agent status.", | |
17528 | "optional" : 1, | |
17529 | "type" : "string" | |
17530 | }, | |
17531 | "spice" : { | |
17532 | "description" : "Qemu VGA configuration supports spice.", | |
17533 | "optional" : 1, | |
17534 | "type" : "boolean" | |
17535 | }, | |
17536 | "status" : { | |
17537 | "description" : "Qemu process status.", | |
17538 | "enum" : [ | |
17539 | "stopped", | |
17540 | "running" | |
17541 | ], | |
17542 | "type" : "string" | |
17543 | }, | |
5c1699e5 TL |
17544 | "tags" : { |
17545 | "description" : "The current configured tags, if any", | |
17546 | "optional" : 1, | |
17547 | "type" : "string" | |
17548 | }, | |
4d47f125 TL |
17549 | "uptime" : { |
17550 | "description" : "Uptime.", | |
17551 | "optional" : 1, | |
17552 | "renderer" : "duration", | |
17553 | "type" : "integer" | |
17554 | }, | |
17555 | "vmid" : { | |
17556 | "description" : "The (unique) ID of the VM.", | |
17557 | "format" : "pve-vmid", | |
17558 | "minimum" : 1, | |
17559 | "type" : "integer" | |
17560 | } | |
17561 | }, | |
17562 | "type" : "object" | |
17563 | } | |
17564 | } | |
17565 | }, | |
17566 | "leaf" : 1, | |
17567 | "path" : "/nodes/{node}/qemu/{vmid}/status/current", | |
17568 | "text" : "current" | |
17569 | }, | |
17570 | { | |
17571 | "info" : { | |
17572 | "POST" : { | |
e9cd3bd4 | 17573 | "allowtoken" : 1, |
4d47f125 TL |
17574 | "description" : "Start virtual machine.", |
17575 | "method" : "POST", | |
17576 | "name" : "vm_start", | |
17577 | "parameters" : { | |
17578 | "additionalProperties" : 0, | |
17579 | "properties" : { | |
c5aa7e14 TL |
17580 | "force-cpu" : { |
17581 | "description" : "Override QEMU's -cpu argument with the given string.", | |
17582 | "optional" : 1, | |
17583 | "type" : "string", | |
17584 | "typetext" : "<string>" | |
17585 | }, | |
4d47f125 TL |
17586 | "machine" : { |
17587 | "description" : "Specifies the Qemu machine type.", | |
17588 | "maxLength" : 40, | |
17589 | "optional" : 1, | |
5c1699e5 | 17590 | "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", |
4d47f125 TL |
17591 | "type" : "string" |
17592 | }, | |
17593 | "migratedfrom" : { | |
17594 | "description" : "The cluster node name.", | |
17595 | "format" : "pve-node", | |
17596 | "optional" : 1, | |
17597 | "type" : "string", | |
17598 | "typetext" : "<string>" | |
17599 | }, | |
17600 | "migration_network" : { | |
17601 | "description" : "CIDR of the (sub) network that is used for migration.", | |
17602 | "format" : "CIDR", | |
17603 | "optional" : 1, | |
17604 | "type" : "string", | |
17605 | "typetext" : "<string>" | |
17606 | }, | |
17607 | "migration_type" : { | |
17608 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
17609 | "enum" : [ | |
17610 | "secure", | |
17611 | "insecure" | |
17612 | ], | |
17613 | "optional" : 1, | |
17614 | "type" : "string" | |
17615 | }, | |
17616 | "node" : { | |
17617 | "description" : "The cluster node name.", | |
17618 | "format" : "pve-node", | |
17619 | "type" : "string", | |
17620 | "typetext" : "<string>" | |
17621 | }, | |
17622 | "skiplock" : { | |
17623 | "description" : "Ignore locks - only root is allowed to use this option.", | |
17624 | "optional" : 1, | |
17625 | "type" : "boolean", | |
17626 | "typetext" : "<boolean>" | |
17627 | }, | |
17628 | "stateuri" : { | |
17629 | "description" : "Some command save/restore state from this location.", | |
17630 | "maxLength" : 128, | |
17631 | "optional" : 1, | |
17632 | "type" : "string", | |
17633 | "typetext" : "<string>" | |
17634 | }, | |
17635 | "targetstorage" : { | |
c5aa7e14 TL |
17636 | "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.", |
17637 | "format" : "storagepair-list", | |
4d47f125 TL |
17638 | "optional" : 1, |
17639 | "type" : "string", | |
17640 | "typetext" : "<string>" | |
17641 | }, | |
e9cd3bd4 TL |
17642 | "timeout" : { |
17643 | "default" : "max(30, vm memory in GiB)", | |
17644 | "description" : "Wait maximal timeout seconds.", | |
17645 | "minimum" : 0, | |
17646 | "optional" : 1, | |
17647 | "type" : "integer", | |
17648 | "typetext" : "<integer> (0 - N)" | |
17649 | }, | |
4d47f125 TL |
17650 | "vmid" : { |
17651 | "description" : "The (unique) ID of the VM.", | |
17652 | "format" : "pve-vmid", | |
17653 | "minimum" : 1, | |
17654 | "type" : "integer", | |
17655 | "typetext" : "<integer> (1 - N)" | |
17656 | } | |
17657 | } | |
17658 | }, | |
17659 | "permissions" : { | |
17660 | "check" : [ | |
17661 | "perm", | |
17662 | "/vms/{vmid}", | |
17663 | [ | |
17664 | "VM.PowerMgmt" | |
17665 | ] | |
17666 | ] | |
17667 | }, | |
17668 | "protected" : 1, | |
17669 | "proxyto" : "node", | |
17670 | "returns" : { | |
17671 | "type" : "string" | |
17672 | } | |
17673 | } | |
17674 | }, | |
17675 | "leaf" : 1, | |
17676 | "path" : "/nodes/{node}/qemu/{vmid}/status/start", | |
17677 | "text" : "start" | |
17678 | }, | |
17679 | { | |
17680 | "info" : { | |
17681 | "POST" : { | |
e9cd3bd4 | 17682 | "allowtoken" : 1, |
4d47f125 TL |
17683 | "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", |
17684 | "method" : "POST", | |
17685 | "name" : "vm_stop", | |
17686 | "parameters" : { | |
17687 | "additionalProperties" : 0, | |
17688 | "properties" : { | |
17689 | "keepActive" : { | |
17690 | "default" : 0, | |
17691 | "description" : "Do not deactivate storage volumes.", | |
17692 | "optional" : 1, | |
17693 | "type" : "boolean", | |
17694 | "typetext" : "<boolean>" | |
17695 | }, | |
17696 | "migratedfrom" : { | |
17697 | "description" : "The cluster node name.", | |
17698 | "format" : "pve-node", | |
17699 | "optional" : 1, | |
17700 | "type" : "string", | |
17701 | "typetext" : "<string>" | |
17702 | }, | |
17703 | "node" : { | |
17704 | "description" : "The cluster node name.", | |
17705 | "format" : "pve-node", | |
17706 | "type" : "string", | |
17707 | "typetext" : "<string>" | |
17708 | }, | |
17709 | "skiplock" : { | |
17710 | "description" : "Ignore locks - only root is allowed to use this option.", | |
17711 | "optional" : 1, | |
17712 | "type" : "boolean", | |
17713 | "typetext" : "<boolean>" | |
17714 | }, | |
17715 | "timeout" : { | |
17716 | "description" : "Wait maximal timeout seconds.", | |
17717 | "minimum" : 0, | |
17718 | "optional" : 1, | |
17719 | "type" : "integer", | |
17720 | "typetext" : "<integer> (0 - N)" | |
17721 | }, | |
17722 | "vmid" : { | |
17723 | "description" : "The (unique) ID of the VM.", | |
17724 | "format" : "pve-vmid", | |
17725 | "minimum" : 1, | |
17726 | "type" : "integer", | |
17727 | "typetext" : "<integer> (1 - N)" | |
17728 | } | |
17729 | } | |
17730 | }, | |
17731 | "permissions" : { | |
17732 | "check" : [ | |
17733 | "perm", | |
17734 | "/vms/{vmid}", | |
17735 | [ | |
17736 | "VM.PowerMgmt" | |
17737 | ] | |
17738 | ] | |
17739 | }, | |
17740 | "protected" : 1, | |
17741 | "proxyto" : "node", | |
17742 | "returns" : { | |
17743 | "type" : "string" | |
17744 | } | |
17745 | } | |
17746 | }, | |
17747 | "leaf" : 1, | |
17748 | "path" : "/nodes/{node}/qemu/{vmid}/status/stop", | |
17749 | "text" : "stop" | |
17750 | }, | |
17751 | { | |
17752 | "info" : { | |
17753 | "POST" : { | |
e9cd3bd4 | 17754 | "allowtoken" : 1, |
4d47f125 TL |
17755 | "description" : "Reset virtual machine.", |
17756 | "method" : "POST", | |
17757 | "name" : "vm_reset", | |
17758 | "parameters" : { | |
17759 | "additionalProperties" : 0, | |
17760 | "properties" : { | |
17761 | "node" : { | |
17762 | "description" : "The cluster node name.", | |
17763 | "format" : "pve-node", | |
17764 | "type" : "string", | |
17765 | "typetext" : "<string>" | |
17766 | }, | |
17767 | "skiplock" : { | |
17768 | "description" : "Ignore locks - only root is allowed to use this option.", | |
17769 | "optional" : 1, | |
17770 | "type" : "boolean", | |
17771 | "typetext" : "<boolean>" | |
17772 | }, | |
17773 | "vmid" : { | |
17774 | "description" : "The (unique) ID of the VM.", | |
17775 | "format" : "pve-vmid", | |
17776 | "minimum" : 1, | |
17777 | "type" : "integer", | |
17778 | "typetext" : "<integer> (1 - N)" | |
17779 | } | |
17780 | } | |
17781 | }, | |
17782 | "permissions" : { | |
17783 | "check" : [ | |
17784 | "perm", | |
17785 | "/vms/{vmid}", | |
17786 | [ | |
17787 | "VM.PowerMgmt" | |
17788 | ] | |
17789 | ] | |
17790 | }, | |
17791 | "protected" : 1, | |
17792 | "proxyto" : "node", | |
17793 | "returns" : { | |
17794 | "type" : "string" | |
17795 | } | |
17796 | } | |
17797 | }, | |
17798 | "leaf" : 1, | |
17799 | "path" : "/nodes/{node}/qemu/{vmid}/status/reset", | |
17800 | "text" : "reset" | |
17801 | }, | |
17802 | { | |
17803 | "info" : { | |
17804 | "POST" : { | |
e9cd3bd4 | 17805 | "allowtoken" : 1, |
4d47f125 TL |
17806 | "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.", |
17807 | "method" : "POST", | |
17808 | "name" : "vm_shutdown", | |
17809 | "parameters" : { | |
17810 | "additionalProperties" : 0, | |
17811 | "properties" : { | |
17812 | "forceStop" : { | |
17813 | "default" : 0, | |
17814 | "description" : "Make sure the VM stops.", | |
17815 | "optional" : 1, | |
17816 | "type" : "boolean", | |
17817 | "typetext" : "<boolean>" | |
17818 | }, | |
17819 | "keepActive" : { | |
17820 | "default" : 0, | |
17821 | "description" : "Do not deactivate storage volumes.", | |
17822 | "optional" : 1, | |
17823 | "type" : "boolean", | |
17824 | "typetext" : "<boolean>" | |
17825 | }, | |
17826 | "node" : { | |
17827 | "description" : "The cluster node name.", | |
17828 | "format" : "pve-node", | |
17829 | "type" : "string", | |
17830 | "typetext" : "<string>" | |
17831 | }, | |
17832 | "skiplock" : { | |
17833 | "description" : "Ignore locks - only root is allowed to use this option.", | |
17834 | "optional" : 1, | |
17835 | "type" : "boolean", | |
17836 | "typetext" : "<boolean>" | |
17837 | }, | |
17838 | "timeout" : { | |
17839 | "description" : "Wait maximal timeout seconds.", | |
17840 | "minimum" : 0, | |
17841 | "optional" : 1, | |
17842 | "type" : "integer", | |
17843 | "typetext" : "<integer> (0 - N)" | |
17844 | }, | |
17845 | "vmid" : { | |
17846 | "description" : "The (unique) ID of the VM.", | |
17847 | "format" : "pve-vmid", | |
17848 | "minimum" : 1, | |
17849 | "type" : "integer", | |
17850 | "typetext" : "<integer> (1 - N)" | |
17851 | } | |
17852 | } | |
17853 | }, | |
17854 | "permissions" : { | |
17855 | "check" : [ | |
17856 | "perm", | |
17857 | "/vms/{vmid}", | |
17858 | [ | |
17859 | "VM.PowerMgmt" | |
17860 | ] | |
17861 | ] | |
17862 | }, | |
17863 | "protected" : 1, | |
17864 | "proxyto" : "node", | |
17865 | "returns" : { | |
17866 | "type" : "string" | |
17867 | } | |
17868 | } | |
17869 | }, | |
17870 | "leaf" : 1, | |
17871 | "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown", | |
17872 | "text" : "shutdown" | |
17873 | }, | |
1c532546 TL |
17874 | { |
17875 | "info" : { | |
17876 | "POST" : { | |
e9cd3bd4 | 17877 | "allowtoken" : 1, |
1c532546 TL |
17878 | "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.", |
17879 | "method" : "POST", | |
17880 | "name" : "vm_reboot", | |
17881 | "parameters" : { | |
17882 | "additionalProperties" : 0, | |
17883 | "properties" : { | |
17884 | "node" : { | |
17885 | "description" : "The cluster node name.", | |
17886 | "format" : "pve-node", | |
17887 | "type" : "string", | |
17888 | "typetext" : "<string>" | |
17889 | }, | |
17890 | "timeout" : { | |
17891 | "description" : "Wait maximal timeout seconds for the shutdown.", | |
17892 | "minimum" : 0, | |
17893 | "optional" : 1, | |
17894 | "type" : "integer", | |
17895 | "typetext" : "<integer> (0 - N)" | |
17896 | }, | |
17897 | "vmid" : { | |
17898 | "description" : "The (unique) ID of the VM.", | |
17899 | "format" : "pve-vmid", | |
17900 | "minimum" : 1, | |
17901 | "type" : "integer", | |
17902 | "typetext" : "<integer> (1 - N)" | |
17903 | } | |
17904 | } | |
17905 | }, | |
17906 | "permissions" : { | |
17907 | "check" : [ | |
17908 | "perm", | |
17909 | "/vms/{vmid}", | |
17910 | [ | |
17911 | "VM.PowerMgmt" | |
17912 | ] | |
17913 | ] | |
17914 | }, | |
17915 | "protected" : 1, | |
17916 | "proxyto" : "node", | |
17917 | "returns" : { | |
17918 | "type" : "string" | |
17919 | } | |
17920 | } | |
17921 | }, | |
17922 | "leaf" : 1, | |
17923 | "path" : "/nodes/{node}/qemu/{vmid}/status/reboot", | |
17924 | "text" : "reboot" | |
17925 | }, | |
4d47f125 TL |
17926 | { |
17927 | "info" : { | |
17928 | "POST" : { | |
e9cd3bd4 | 17929 | "allowtoken" : 1, |
4d47f125 TL |
17930 | "description" : "Suspend virtual machine.", |
17931 | "method" : "POST", | |
17932 | "name" : "vm_suspend", | |
17933 | "parameters" : { | |
17934 | "additionalProperties" : 0, | |
17935 | "properties" : { | |
17936 | "node" : { | |
17937 | "description" : "The cluster node name.", | |
17938 | "format" : "pve-node", | |
17939 | "type" : "string", | |
17940 | "typetext" : "<string>" | |
17941 | }, | |
17942 | "skiplock" : { | |
17943 | "description" : "Ignore locks - only root is allowed to use this option.", | |
17944 | "optional" : 1, | |
17945 | "type" : "boolean", | |
17946 | "typetext" : "<boolean>" | |
17947 | }, | |
95895385 TL |
17948 | "statestorage" : { |
17949 | "description" : "The storage for the VM state", | |
17950 | "format" : "pve-storage-id", | |
17951 | "optional" : 1, | |
17952 | "requires" : "todisk", | |
17953 | "type" : "string", | |
17954 | "typetext" : "<string>" | |
17955 | }, | |
17956 | "todisk" : { | |
17957 | "default" : 0, | |
17958 | "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.", | |
17959 | "optional" : 1, | |
17960 | "type" : "boolean", | |
17961 | "typetext" : "<boolean>" | |
17962 | }, | |
4d47f125 TL |
17963 | "vmid" : { |
17964 | "description" : "The (unique) ID of the VM.", | |
17965 | "format" : "pve-vmid", | |
17966 | "minimum" : 1, | |
17967 | "type" : "integer", | |
17968 | "typetext" : "<integer> (1 - N)" | |
17969 | } | |
17970 | } | |
17971 | }, | |
17972 | "permissions" : { | |
17973 | "check" : [ | |
17974 | "perm", | |
17975 | "/vms/{vmid}", | |
17976 | [ | |
17977 | "VM.PowerMgmt" | |
17978 | ] | |
e9cd3bd4 TL |
17979 | ], |
17980 | "description" : "You need 'VM.PowerMgmt' on /vms/{vmid}, and if you have set 'todisk', you need also 'VM.Config.Disk' on /vms/{vmid} and 'Datastore.AllocateSpace' on the storage for the vmstate." | |
4d47f125 TL |
17981 | }, |
17982 | "protected" : 1, | |
17983 | "proxyto" : "node", | |
17984 | "returns" : { | |
17985 | "type" : "string" | |
17986 | } | |
17987 | } | |
17988 | }, | |
17989 | "leaf" : 1, | |
17990 | "path" : "/nodes/{node}/qemu/{vmid}/status/suspend", | |
17991 | "text" : "suspend" | |
17992 | }, | |
17993 | { | |
17994 | "info" : { | |
17995 | "POST" : { | |
e9cd3bd4 | 17996 | "allowtoken" : 1, |
4d47f125 TL |
17997 | "description" : "Resume virtual machine.", |
17998 | "method" : "POST", | |
17999 | "name" : "vm_resume", | |
18000 | "parameters" : { | |
18001 | "additionalProperties" : 0, | |
18002 | "properties" : { | |
18003 | "nocheck" : { | |
18004 | "optional" : 1, | |
18005 | "type" : "boolean", | |
18006 | "typetext" : "<boolean>" | |
18007 | }, | |
18008 | "node" : { | |
18009 | "description" : "The cluster node name.", | |
18010 | "format" : "pve-node", | |
18011 | "type" : "string", | |
18012 | "typetext" : "<string>" | |
18013 | }, | |
18014 | "skiplock" : { | |
18015 | "description" : "Ignore locks - only root is allowed to use this option.", | |
18016 | "optional" : 1, | |
18017 | "type" : "boolean", | |
18018 | "typetext" : "<boolean>" | |
18019 | }, | |
18020 | "vmid" : { | |
18021 | "description" : "The (unique) ID of the VM.", | |
18022 | "format" : "pve-vmid", | |
18023 | "minimum" : 1, | |
18024 | "type" : "integer", | |
18025 | "typetext" : "<integer> (1 - N)" | |
18026 | } | |
18027 | } | |
18028 | }, | |
18029 | "permissions" : { | |
18030 | "check" : [ | |
18031 | "perm", | |
18032 | "/vms/{vmid}", | |
18033 | [ | |
18034 | "VM.PowerMgmt" | |
18035 | ] | |
18036 | ] | |
18037 | }, | |
18038 | "protected" : 1, | |
18039 | "proxyto" : "node", | |
18040 | "returns" : { | |
18041 | "type" : "string" | |
18042 | } | |
18043 | } | |
18044 | }, | |
18045 | "leaf" : 1, | |
18046 | "path" : "/nodes/{node}/qemu/{vmid}/status/resume", | |
18047 | "text" : "resume" | |
18048 | } | |
18049 | ], | |
18050 | "info" : { | |
18051 | "GET" : { | |
e9cd3bd4 | 18052 | "allowtoken" : 1, |
4d47f125 TL |
18053 | "description" : "Directory index", |
18054 | "method" : "GET", | |
18055 | "name" : "vmcmdidx", | |
18056 | "parameters" : { | |
18057 | "additionalProperties" : 0, | |
18058 | "properties" : { | |
18059 | "node" : { | |
18060 | "description" : "The cluster node name.", | |
18061 | "format" : "pve-node", | |
18062 | "type" : "string", | |
18063 | "typetext" : "<string>" | |
18064 | }, | |
18065 | "vmid" : { | |
18066 | "description" : "The (unique) ID of the VM.", | |
18067 | "format" : "pve-vmid", | |
18068 | "minimum" : 1, | |
18069 | "type" : "integer", | |
18070 | "typetext" : "<integer> (1 - N)" | |
18071 | } | |
18072 | } | |
18073 | }, | |
18074 | "permissions" : { | |
18075 | "user" : "all" | |
18076 | }, | |
18077 | "proxyto" : "node", | |
18078 | "returns" : { | |
18079 | "items" : { | |
18080 | "properties" : { | |
18081 | "subdir" : { | |
18082 | "type" : "string" | |
18083 | } | |
18084 | }, | |
18085 | "type" : "object" | |
18086 | }, | |
18087 | "links" : [ | |
18088 | { | |
18089 | "href" : "{subdir}", | |
18090 | "rel" : "child" | |
18091 | } | |
18092 | ], | |
18093 | "type" : "array" | |
18094 | } | |
18095 | } | |
18096 | }, | |
18097 | "leaf" : 0, | |
18098 | "path" : "/nodes/{node}/qemu/{vmid}/status", | |
18099 | "text" : "status" | |
18100 | }, | |
18101 | { | |
18102 | "info" : { | |
18103 | "PUT" : { | |
e9cd3bd4 | 18104 | "allowtoken" : 1, |
4d47f125 TL |
18105 | "description" : "Send key event to virtual machine.", |
18106 | "method" : "PUT", | |
18107 | "name" : "vm_sendkey", | |
18108 | "parameters" : { | |
18109 | "additionalProperties" : 0, | |
18110 | "properties" : { | |
18111 | "key" : { | |
18112 | "description" : "The key (qemu monitor encoding).", | |
18113 | "type" : "string", | |
18114 | "typetext" : "<string>" | |
18115 | }, | |
18116 | "node" : { | |
18117 | "description" : "The cluster node name.", | |
18118 | "format" : "pve-node", | |
18119 | "type" : "string", | |
18120 | "typetext" : "<string>" | |
18121 | }, | |
18122 | "skiplock" : { | |
18123 | "description" : "Ignore locks - only root is allowed to use this option.", | |
18124 | "optional" : 1, | |
18125 | "type" : "boolean", | |
18126 | "typetext" : "<boolean>" | |
18127 | }, | |
18128 | "vmid" : { | |
18129 | "description" : "The (unique) ID of the VM.", | |
18130 | "format" : "pve-vmid", | |
18131 | "minimum" : 1, | |
18132 | "type" : "integer", | |
18133 | "typetext" : "<integer> (1 - N)" | |
18134 | } | |
18135 | } | |
18136 | }, | |
18137 | "permissions" : { | |
18138 | "check" : [ | |
18139 | "perm", | |
18140 | "/vms/{vmid}", | |
18141 | [ | |
18142 | "VM.Console" | |
18143 | ] | |
18144 | ] | |
18145 | }, | |
18146 | "protected" : 1, | |
18147 | "proxyto" : "node", | |
18148 | "returns" : { | |
18149 | "type" : "null" | |
18150 | } | |
18151 | } | |
18152 | }, | |
18153 | "leaf" : 1, | |
18154 | "path" : "/nodes/{node}/qemu/{vmid}/sendkey", | |
18155 | "text" : "sendkey" | |
18156 | }, | |
18157 | { | |
18158 | "info" : { | |
18159 | "GET" : { | |
e9cd3bd4 | 18160 | "allowtoken" : 1, |
4d47f125 TL |
18161 | "description" : "Check if feature for virtual machine is available.", |
18162 | "method" : "GET", | |
18163 | "name" : "vm_feature", | |
18164 | "parameters" : { | |
18165 | "additionalProperties" : 0, | |
18166 | "properties" : { | |
18167 | "feature" : { | |
18168 | "description" : "Feature to check.", | |
18169 | "enum" : [ | |
18170 | "snapshot", | |
18171 | "clone", | |
18172 | "copy" | |
18173 | ], | |
18174 | "type" : "string" | |
18175 | }, | |
18176 | "node" : { | |
18177 | "description" : "The cluster node name.", | |
18178 | "format" : "pve-node", | |
18179 | "type" : "string", | |
18180 | "typetext" : "<string>" | |
18181 | }, | |
18182 | "snapname" : { | |
18183 | "description" : "The name of the snapshot.", | |
18184 | "format" : "pve-configid", | |
18185 | "maxLength" : 40, | |
18186 | "optional" : 1, | |
18187 | "type" : "string", | |
18188 | "typetext" : "<string>" | |
18189 | }, | |
18190 | "vmid" : { | |
18191 | "description" : "The (unique) ID of the VM.", | |
18192 | "format" : "pve-vmid", | |
18193 | "minimum" : 1, | |
18194 | "type" : "integer", | |
18195 | "typetext" : "<integer> (1 - N)" | |
18196 | } | |
18197 | } | |
18198 | }, | |
18199 | "permissions" : { | |
18200 | "check" : [ | |
18201 | "perm", | |
18202 | "/vms/{vmid}", | |
18203 | [ | |
18204 | "VM.Audit" | |
18205 | ] | |
18206 | ] | |
18207 | }, | |
18208 | "protected" : 1, | |
18209 | "proxyto" : "node", | |
18210 | "returns" : { | |
18211 | "properties" : { | |
18212 | "hasFeature" : { | |
18213 | "type" : "boolean" | |
18214 | }, | |
18215 | "nodes" : { | |
18216 | "items" : { | |
18217 | "type" : "string" | |
18218 | }, | |
18219 | "type" : "array" | |
18220 | } | |
18221 | }, | |
18222 | "type" : "object" | |
18223 | } | |
18224 | } | |
18225 | }, | |
18226 | "leaf" : 1, | |
18227 | "path" : "/nodes/{node}/qemu/{vmid}/feature", | |
18228 | "text" : "feature" | |
18229 | }, | |
18230 | { | |
18231 | "info" : { | |
18232 | "POST" : { | |
e9cd3bd4 | 18233 | "allowtoken" : 1, |
4d47f125 TL |
18234 | "description" : "Create a copy of virtual machine/template.", |
18235 | "method" : "POST", | |
18236 | "name" : "clone_vm", | |
18237 | "parameters" : { | |
18238 | "additionalProperties" : 0, | |
18239 | "properties" : { | |
95895385 TL |
18240 | "bwlimit" : { |
18241 | "default" : "clone limit from datacenter or storage config", | |
18242 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
18243 | "minimum" : "0", | |
18244 | "optional" : 1, | |
18245 | "type" : "integer", | |
18246 | "typetext" : "<integer> (0 - N)" | |
18247 | }, | |
4d47f125 TL |
18248 | "description" : { |
18249 | "description" : "Description for the new VM.", | |
18250 | "optional" : 1, | |
18251 | "type" : "string", | |
18252 | "typetext" : "<string>" | |
18253 | }, | |
18254 | "format" : { | |
18255 | "description" : "Target format for file storage. Only valid for full clone.", | |
18256 | "enum" : [ | |
18257 | "raw", | |
18258 | "qcow2", | |
18259 | "vmdk" | |
18260 | ], | |
18261 | "optional" : 1, | |
18262 | "type" : "string" | |
18263 | }, | |
18264 | "full" : { | |
18265 | "description" : "Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.", | |
18266 | "optional" : 1, | |
18267 | "type" : "boolean", | |
18268 | "typetext" : "<boolean>" | |
18269 | }, | |
18270 | "name" : { | |
18271 | "description" : "Set a name for the new VM.", | |
18272 | "format" : "dns-name", | |
18273 | "optional" : 1, | |
18274 | "type" : "string", | |
18275 | "typetext" : "<string>" | |
18276 | }, | |
18277 | "newid" : { | |
18278 | "description" : "VMID for the clone.", | |
18279 | "format" : "pve-vmid", | |
18280 | "minimum" : 1, | |
18281 | "type" : "integer", | |
18282 | "typetext" : "<integer> (1 - N)" | |
18283 | }, | |
18284 | "node" : { | |
18285 | "description" : "The cluster node name.", | |
18286 | "format" : "pve-node", | |
18287 | "type" : "string", | |
18288 | "typetext" : "<string>" | |
18289 | }, | |
18290 | "pool" : { | |
18291 | "description" : "Add the new VM to the specified pool.", | |
18292 | "format" : "pve-poolid", | |
18293 | "optional" : 1, | |
18294 | "type" : "string", | |
18295 | "typetext" : "<string>" | |
18296 | }, | |
18297 | "snapname" : { | |
18298 | "description" : "The name of the snapshot.", | |
18299 | "format" : "pve-configid", | |
18300 | "maxLength" : 40, | |
18301 | "optional" : 1, | |
18302 | "type" : "string", | |
18303 | "typetext" : "<string>" | |
18304 | }, | |
18305 | "storage" : { | |
18306 | "description" : "Target storage for full clone.", | |
18307 | "format" : "pve-storage-id", | |
18308 | "optional" : 1, | |
18309 | "type" : "string", | |
18310 | "typetext" : "<string>" | |
18311 | }, | |
18312 | "target" : { | |
18313 | "description" : "Target node. Only allowed if the original VM is on shared storage.", | |
18314 | "format" : "pve-node", | |
18315 | "optional" : 1, | |
18316 | "type" : "string", | |
18317 | "typetext" : "<string>" | |
18318 | }, | |
18319 | "vmid" : { | |
18320 | "description" : "The (unique) ID of the VM.", | |
18321 | "format" : "pve-vmid", | |
18322 | "minimum" : 1, | |
18323 | "type" : "integer", | |
18324 | "typetext" : "<integer> (1 - N)" | |
18325 | } | |
18326 | } | |
18327 | }, | |
18328 | "permissions" : { | |
18329 | "check" : [ | |
18330 | "and", | |
18331 | [ | |
18332 | "perm", | |
18333 | "/vms/{vmid}", | |
18334 | [ | |
18335 | "VM.Clone" | |
18336 | ] | |
18337 | ], | |
18338 | [ | |
18339 | "or", | |
18340 | [ | |
18341 | "perm", | |
18342 | "/vms/{newid}", | |
18343 | [ | |
18344 | "VM.Allocate" | |
18345 | ] | |
18346 | ], | |
18347 | [ | |
18348 | "perm", | |
18349 | "/pool/{pool}", | |
18350 | [ | |
18351 | "VM.Allocate" | |
18352 | ], | |
18353 | "require_param", | |
18354 | "pool" | |
18355 | ] | |
18356 | ] | |
18357 | ], | |
18358 | "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." | |
18359 | }, | |
18360 | "protected" : 1, | |
18361 | "proxyto" : "node", | |
18362 | "returns" : { | |
18363 | "type" : "string" | |
18364 | } | |
18365 | } | |
18366 | }, | |
18367 | "leaf" : 1, | |
18368 | "path" : "/nodes/{node}/qemu/{vmid}/clone", | |
18369 | "text" : "clone" | |
18370 | }, | |
18371 | { | |
18372 | "info" : { | |
18373 | "POST" : { | |
e9cd3bd4 | 18374 | "allowtoken" : 1, |
4d47f125 TL |
18375 | "description" : "Move volume to different storage.", |
18376 | "method" : "POST", | |
18377 | "name" : "move_vm_disk", | |
18378 | "parameters" : { | |
18379 | "additionalProperties" : 0, | |
18380 | "properties" : { | |
95895385 TL |
18381 | "bwlimit" : { |
18382 | "default" : "move limit from datacenter or storage config", | |
18383 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
18384 | "minimum" : "0", | |
18385 | "optional" : 1, | |
18386 | "type" : "integer", | |
18387 | "typetext" : "<integer> (0 - N)" | |
18388 | }, | |
4d47f125 TL |
18389 | "delete" : { |
18390 | "default" : 0, | |
18391 | "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.", | |
18392 | "optional" : 1, | |
18393 | "type" : "boolean", | |
18394 | "typetext" : "<boolean>" | |
18395 | }, | |
18396 | "digest" : { | |
18397 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
18398 | "maxLength" : 40, | |
18399 | "optional" : 1, | |
18400 | "type" : "string", | |
18401 | "typetext" : "<string>" | |
18402 | }, | |
18403 | "disk" : { | |
18404 | "description" : "The disk you want to move.", | |
18405 | "enum" : [ | |
18406 | "ide0", | |
18407 | "ide1", | |
18408 | "ide2", | |
18409 | "ide3", | |
18410 | "scsi0", | |
18411 | "scsi1", | |
18412 | "scsi2", | |
18413 | "scsi3", | |
18414 | "scsi4", | |
18415 | "scsi5", | |
18416 | "scsi6", | |
18417 | "scsi7", | |
18418 | "scsi8", | |
18419 | "scsi9", | |
18420 | "scsi10", | |
18421 | "scsi11", | |
18422 | "scsi12", | |
18423 | "scsi13", | |
e9cd3bd4 TL |
18424 | "scsi14", |
18425 | "scsi15", | |
18426 | "scsi16", | |
18427 | "scsi17", | |
18428 | "scsi18", | |
18429 | "scsi19", | |
18430 | "scsi20", | |
18431 | "scsi21", | |
18432 | "scsi22", | |
18433 | "scsi23", | |
18434 | "scsi24", | |
18435 | "scsi25", | |
18436 | "scsi26", | |
18437 | "scsi27", | |
18438 | "scsi28", | |
18439 | "scsi29", | |
18440 | "scsi30", | |
4d47f125 TL |
18441 | "virtio0", |
18442 | "virtio1", | |
18443 | "virtio2", | |
18444 | "virtio3", | |
18445 | "virtio4", | |
18446 | "virtio5", | |
18447 | "virtio6", | |
18448 | "virtio7", | |
18449 | "virtio8", | |
18450 | "virtio9", | |
18451 | "virtio10", | |
18452 | "virtio11", | |
18453 | "virtio12", | |
18454 | "virtio13", | |
18455 | "virtio14", | |
18456 | "virtio15", | |
18457 | "sata0", | |
18458 | "sata1", | |
18459 | "sata2", | |
18460 | "sata3", | |
18461 | "sata4", | |
18462 | "sata5", | |
18463 | "efidisk0" | |
18464 | ], | |
18465 | "type" : "string" | |
18466 | }, | |
18467 | "format" : { | |
18468 | "description" : "Target Format.", | |
18469 | "enum" : [ | |
18470 | "raw", | |
18471 | "qcow2", | |
18472 | "vmdk" | |
18473 | ], | |
18474 | "optional" : 1, | |
18475 | "type" : "string" | |
18476 | }, | |
18477 | "node" : { | |
18478 | "description" : "The cluster node name.", | |
18479 | "format" : "pve-node", | |
18480 | "type" : "string", | |
18481 | "typetext" : "<string>" | |
18482 | }, | |
18483 | "storage" : { | |
18484 | "description" : "Target storage.", | |
18485 | "format" : "pve-storage-id", | |
18486 | "type" : "string", | |
18487 | "typetext" : "<string>" | |
18488 | }, | |
18489 | "vmid" : { | |
18490 | "description" : "The (unique) ID of the VM.", | |
18491 | "format" : "pve-vmid", | |
18492 | "minimum" : 1, | |
18493 | "type" : "integer", | |
18494 | "typetext" : "<integer> (1 - N)" | |
18495 | } | |
18496 | } | |
18497 | }, | |
18498 | "permissions" : { | |
18499 | "check" : [ | |
18500 | "and", | |
18501 | [ | |
18502 | "perm", | |
18503 | "/vms/{vmid}", | |
18504 | [ | |
18505 | "VM.Config.Disk" | |
18506 | ] | |
18507 | ], | |
18508 | [ | |
18509 | "perm", | |
18510 | "/storage/{storage}", | |
18511 | [ | |
18512 | "Datastore.AllocateSpace" | |
18513 | ] | |
18514 | ] | |
18515 | ], | |
18516 | "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage." | |
18517 | }, | |
18518 | "protected" : 1, | |
18519 | "proxyto" : "node", | |
18520 | "returns" : { | |
18521 | "description" : "the task ID.", | |
18522 | "type" : "string" | |
18523 | } | |
18524 | } | |
18525 | }, | |
18526 | "leaf" : 1, | |
18527 | "path" : "/nodes/{node}/qemu/{vmid}/move_disk", | |
18528 | "text" : "move_disk" | |
18529 | }, | |
18530 | { | |
18531 | "info" : { | |
1e3f8156 | 18532 | "GET" : { |
e9cd3bd4 | 18533 | "allowtoken" : 1, |
1e3f8156 TL |
18534 | "description" : "Get preconditions for migration.", |
18535 | "method" : "GET", | |
18536 | "name" : "migrate_vm_precondition", | |
18537 | "parameters" : { | |
18538 | "additionalProperties" : 0, | |
18539 | "properties" : { | |
18540 | "node" : { | |
18541 | "description" : "The cluster node name.", | |
18542 | "format" : "pve-node", | |
18543 | "type" : "string", | |
18544 | "typetext" : "<string>" | |
18545 | }, | |
18546 | "target" : { | |
18547 | "description" : "Target node.", | |
18548 | "format" : "pve-node", | |
18549 | "optional" : 1, | |
18550 | "type" : "string", | |
18551 | "typetext" : "<string>" | |
18552 | }, | |
18553 | "vmid" : { | |
18554 | "description" : "The (unique) ID of the VM.", | |
18555 | "format" : "pve-vmid", | |
18556 | "minimum" : 1, | |
18557 | "type" : "integer", | |
18558 | "typetext" : "<integer> (1 - N)" | |
18559 | } | |
18560 | } | |
18561 | }, | |
18562 | "permissions" : { | |
18563 | "check" : [ | |
18564 | "perm", | |
18565 | "/vms/{vmid}", | |
18566 | [ | |
18567 | "VM.Migrate" | |
18568 | ] | |
18569 | ] | |
18570 | }, | |
18571 | "protected" : 1, | |
18572 | "proxyto" : "node", | |
18573 | "returns" : { | |
18574 | "properties" : { | |
18575 | "allowed_nodes" : { | |
9226ccbc | 18576 | "description" : "List nodes allowed for offline migration, only passed if VM is offline", |
1e3f8156 TL |
18577 | "optional" : 1, |
18578 | "type" : "array" | |
18579 | }, | |
18580 | "local_disks" : { | |
18581 | "description" : "List local disks including CD-Rom, unsused and not referenced disks", | |
18582 | "type" : "array" | |
18583 | }, | |
18584 | "local_resources" : { | |
18585 | "description" : "List local resources e.g. pci, usb", | |
18586 | "type" : "array" | |
18587 | }, | |
9226ccbc TL |
18588 | "not_allowed_nodes" : { |
18589 | "description" : "List not allowed nodes with additional informations, only passed if VM is offline", | |
18590 | "optional" : 1, | |
18591 | "type" : "object" | |
18592 | }, | |
1e3f8156 TL |
18593 | "running" : { |
18594 | "type" : "boolean" | |
18595 | } | |
18596 | }, | |
18597 | "type" : "object" | |
18598 | } | |
18599 | }, | |
4d47f125 | 18600 | "POST" : { |
e9cd3bd4 | 18601 | "allowtoken" : 1, |
4d47f125 TL |
18602 | "description" : "Migrate virtual machine. Creates a new migration task.", |
18603 | "method" : "POST", | |
18604 | "name" : "migrate_vm", | |
18605 | "parameters" : { | |
18606 | "additionalProperties" : 0, | |
18607 | "properties" : { | |
95895385 TL |
18608 | "bwlimit" : { |
18609 | "default" : "migrate limit from datacenter or storage config", | |
18610 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
18611 | "minimum" : "0", | |
18612 | "optional" : 1, | |
18613 | "type" : "integer", | |
18614 | "typetext" : "<integer> (0 - N)" | |
18615 | }, | |
4d47f125 TL |
18616 | "force" : { |
18617 | "description" : "Allow to migrate VMs which use local devices. Only root may use this option.", | |
18618 | "optional" : 1, | |
18619 | "type" : "boolean", | |
18620 | "typetext" : "<boolean>" | |
18621 | }, | |
18622 | "migration_network" : { | |
18623 | "description" : "CIDR of the (sub) network that is used for migration.", | |
18624 | "format" : "CIDR", | |
18625 | "optional" : 1, | |
18626 | "type" : "string", | |
18627 | "typetext" : "<string>" | |
18628 | }, | |
18629 | "migration_type" : { | |
18630 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
18631 | "enum" : [ | |
18632 | "secure", | |
18633 | "insecure" | |
18634 | ], | |
18635 | "optional" : 1, | |
18636 | "type" : "string" | |
18637 | }, | |
18638 | "node" : { | |
18639 | "description" : "The cluster node name.", | |
18640 | "format" : "pve-node", | |
18641 | "type" : "string", | |
18642 | "typetext" : "<string>" | |
18643 | }, | |
18644 | "online" : { | |
1c532546 | 18645 | "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.", |
4d47f125 TL |
18646 | "optional" : 1, |
18647 | "type" : "boolean", | |
18648 | "typetext" : "<boolean>" | |
18649 | }, | |
18650 | "target" : { | |
18651 | "description" : "Target node.", | |
18652 | "format" : "pve-node", | |
18653 | "type" : "string", | |
18654 | "typetext" : "<string>" | |
18655 | }, | |
18656 | "targetstorage" : { | |
c5aa7e14 TL |
18657 | "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.", |
18658 | "format" : "storagepair-list", | |
4d47f125 | 18659 | "optional" : 1, |
52e44c50 FG |
18660 | "type" : "string", |
18661 | "typetext" : "<string>" | |
18662 | }, | |
7aacca6f | 18663 | "vmid" : { |
7aacca6f | 18664 | "description" : "The (unique) ID of the VM.", |
44660702 | 18665 | "format" : "pve-vmid", |
7aacca6f | 18666 | "minimum" : 1, |
4bd7df8b | 18667 | "type" : "integer", |
013dc89f | 18668 | "typetext" : "<integer> (1 - N)" |
52e44c50 FG |
18669 | }, |
18670 | "with-local-disks" : { | |
18671 | "description" : "Enable live storage migration for local disk", | |
18672 | "optional" : 1, | |
18673 | "type" : "boolean", | |
18674 | "typetext" : "<boolean>" | |
56122987 | 18675 | } |
44660702 DM |
18676 | } |
18677 | }, | |
18678 | "permissions" : { | |
18679 | "check" : [ | |
18680 | "perm", | |
18681 | "/vms/{vmid}", | |
18682 | [ | |
18683 | "VM.Migrate" | |
18684 | ] | |
18685 | ] | |
56122987 DM |
18686 | }, |
18687 | "protected" : 1, | |
44660702 DM |
18688 | "proxyto" : "node", |
18689 | "returns" : { | |
18690 | "description" : "the task ID.", | |
18691 | "type" : "string" | |
18692 | } | |
56122987 | 18693 | } |
7aacca6f | 18694 | }, |
44660702 DM |
18695 | "leaf" : 1, |
18696 | "path" : "/nodes/{node}/qemu/{vmid}/migrate", | |
7aacca6f | 18697 | "text" : "migrate" |
56122987 DM |
18698 | }, |
18699 | { | |
18700 | "info" : { | |
18701 | "POST" : { | |
e9cd3bd4 | 18702 | "allowtoken" : 1, |
44660702 | 18703 | "description" : "Execute Qemu monitor commands.", |
56122987 | 18704 | "method" : "POST", |
44660702 | 18705 | "name" : "monitor", |
56122987 | 18706 | "parameters" : { |
7aacca6f | 18707 | "additionalProperties" : 0, |
56122987 | 18708 | "properties" : { |
44660702 DM |
18709 | "command" : { |
18710 | "description" : "The monitor command.", | |
013dc89f DM |
18711 | "type" : "string", |
18712 | "typetext" : "<string>" | |
44660702 | 18713 | }, |
56122987 | 18714 | "node" : { |
44660702 | 18715 | "description" : "The cluster node name.", |
7aacca6f | 18716 | "format" : "pve-node", |
013dc89f DM |
18717 | "type" : "string", |
18718 | "typetext" : "<string>" | |
56122987 DM |
18719 | }, |
18720 | "vmid" : { | |
44660702 | 18721 | "description" : "The (unique) ID of the VM.", |
56122987 | 18722 | "format" : "pve-vmid", |
7aacca6f | 18723 | "minimum" : 1, |
4bd7df8b | 18724 | "type" : "integer", |
013dc89f | 18725 | "typetext" : "<integer> (1 - N)" |
56122987 | 18726 | } |
7aacca6f | 18727 | } |
56122987 | 18728 | }, |
56122987 DM |
18729 | "permissions" : { |
18730 | "check" : [ | |
18731 | "perm", | |
18732 | "/vms/{vmid}", | |
18733 | [ | |
18734 | "VM.Monitor" | |
18735 | ] | |
32d876b5 DM |
18736 | ], |
18737 | "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')" | |
7aacca6f | 18738 | }, |
44660702 DM |
18739 | "protected" : 1, |
18740 | "proxyto" : "node", | |
18741 | "returns" : { | |
18742 | "type" : "string" | |
18743 | } | |
56122987 | 18744 | } |
44660702 DM |
18745 | }, |
18746 | "leaf" : 1, | |
18747 | "path" : "/nodes/{node}/qemu/{vmid}/monitor", | |
18748 | "text" : "monitor" | |
56122987 DM |
18749 | }, |
18750 | { | |
56122987 DM |
18751 | "info" : { |
18752 | "PUT" : { | |
e9cd3bd4 | 18753 | "allowtoken" : 1, |
44660702 DM |
18754 | "description" : "Extend volume size.", |
18755 | "method" : "PUT", | |
18756 | "name" : "resize_vm", | |
56122987 | 18757 | "parameters" : { |
44660702 | 18758 | "additionalProperties" : 0, |
56122987 | 18759 | "properties" : { |
44660702 DM |
18760 | "digest" : { |
18761 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
18762 | "maxLength" : 40, | |
18763 | "optional" : 1, | |
013dc89f DM |
18764 | "type" : "string", |
18765 | "typetext" : "<string>" | |
56122987 | 18766 | }, |
56122987 DM |
18767 | "disk" : { |
18768 | "description" : "The disk you want to resize.", | |
18769 | "enum" : [ | |
18770 | "ide0", | |
18771 | "ide1", | |
18772 | "ide2", | |
18773 | "ide3", | |
18774 | "scsi0", | |
18775 | "scsi1", | |
18776 | "scsi2", | |
18777 | "scsi3", | |
18778 | "scsi4", | |
18779 | "scsi5", | |
18780 | "scsi6", | |
18781 | "scsi7", | |
18782 | "scsi8", | |
18783 | "scsi9", | |
18784 | "scsi10", | |
18785 | "scsi11", | |
18786 | "scsi12", | |
18787 | "scsi13", | |
e9cd3bd4 TL |
18788 | "scsi14", |
18789 | "scsi15", | |
18790 | "scsi16", | |
18791 | "scsi17", | |
18792 | "scsi18", | |
18793 | "scsi19", | |
18794 | "scsi20", | |
18795 | "scsi21", | |
18796 | "scsi22", | |
18797 | "scsi23", | |
18798 | "scsi24", | |
18799 | "scsi25", | |
18800 | "scsi26", | |
18801 | "scsi27", | |
18802 | "scsi28", | |
18803 | "scsi29", | |
18804 | "scsi30", | |
56122987 DM |
18805 | "virtio0", |
18806 | "virtio1", | |
18807 | "virtio2", | |
18808 | "virtio3", | |
18809 | "virtio4", | |
18810 | "virtio5", | |
18811 | "virtio6", | |
18812 | "virtio7", | |
18813 | "virtio8", | |
18814 | "virtio9", | |
18815 | "virtio10", | |
18816 | "virtio11", | |
18817 | "virtio12", | |
18818 | "virtio13", | |
18819 | "virtio14", | |
18820 | "virtio15", | |
18821 | "sata0", | |
18822 | "sata1", | |
18823 | "sata2", | |
18824 | "sata3", | |
18825 | "sata4", | |
2c0dde61 DM |
18826 | "sata5", |
18827 | "efidisk0" | |
44660702 DM |
18828 | ], |
18829 | "type" : "string" | |
56122987 | 18830 | }, |
44660702 DM |
18831 | "node" : { |
18832 | "description" : "The cluster node name.", | |
18833 | "format" : "pve-node", | |
013dc89f DM |
18834 | "type" : "string", |
18835 | "typetext" : "<string>" | |
7aacca6f | 18836 | }, |
44660702 | 18837 | "size" : { |
5d9c884c | 18838 | "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.", |
44660702 DM |
18839 | "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?", |
18840 | "type" : "string" | |
56122987 DM |
18841 | }, |
18842 | "skiplock" : { | |
18843 | "description" : "Ignore locks - only root is allowed to use this option.", | |
18844 | "optional" : 1, | |
013dc89f DM |
18845 | "type" : "boolean", |
18846 | "typetext" : "<boolean>" | |
56122987 DM |
18847 | }, |
18848 | "vmid" : { | |
7aacca6f | 18849 | "description" : "The (unique) ID of the VM.", |
56122987 | 18850 | "format" : "pve-vmid", |
44660702 | 18851 | "minimum" : 1, |
4bd7df8b | 18852 | "type" : "integer", |
013dc89f | 18853 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
18854 | } |
18855 | } | |
18856 | }, | |
18857 | "permissions" : { | |
18858 | "check" : [ | |
18859 | "perm", | |
18860 | "/vms/{vmid}", | |
18861 | [ | |
44660702 | 18862 | "VM.Config.Disk" |
56122987 DM |
18863 | ] |
18864 | ] | |
18865 | }, | |
7aacca6f | 18866 | "protected" : 1, |
7aacca6f | 18867 | "proxyto" : "node", |
44660702 DM |
18868 | "returns" : { |
18869 | "type" : "null" | |
18870 | } | |
7aacca6f DM |
18871 | } |
18872 | }, | |
44660702 DM |
18873 | "leaf" : 1, |
18874 | "path" : "/nodes/{node}/qemu/{vmid}/resize", | |
18875 | "text" : "resize" | |
18876 | }, | |
18877 | { | |
56122987 DM |
18878 | "children" : [ |
18879 | { | |
18880 | "children" : [ | |
18881 | { | |
56122987 | 18882 | "info" : { |
44660702 | 18883 | "GET" : { |
e9cd3bd4 | 18884 | "allowtoken" : 1, |
44660702 DM |
18885 | "description" : "Get snapshot configuration", |
18886 | "method" : "GET", | |
18887 | "name" : "get_snapshot_config", | |
56122987 | 18888 | "parameters" : { |
44660702 | 18889 | "additionalProperties" : 0, |
56122987 | 18890 | "properties" : { |
56122987 | 18891 | "node" : { |
44660702 | 18892 | "description" : "The cluster node name.", |
56122987 | 18893 | "format" : "pve-node", |
013dc89f DM |
18894 | "type" : "string", |
18895 | "typetext" : "<string>" | |
7aacca6f DM |
18896 | }, |
18897 | "snapname" : { | |
44660702 | 18898 | "description" : "The name of the snapshot.", |
7aacca6f | 18899 | "format" : "pve-configid", |
44660702 | 18900 | "maxLength" : 40, |
013dc89f DM |
18901 | "type" : "string", |
18902 | "typetext" : "<string>" | |
7aacca6f DM |
18903 | }, |
18904 | "vmid" : { | |
44660702 | 18905 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
18906 | "format" : "pve-vmid", |
18907 | "minimum" : 1, | |
4bd7df8b | 18908 | "type" : "integer", |
013dc89f | 18909 | "typetext" : "<integer> (1 - N)" |
56122987 | 18910 | } |
44660702 | 18911 | } |
56122987 DM |
18912 | }, |
18913 | "permissions" : { | |
18914 | "check" : [ | |
18915 | "perm", | |
18916 | "/vms/{vmid}", | |
18917 | [ | |
2489d6df | 18918 | "VM.Snapshot", |
e9cd3bd4 TL |
18919 | "VM.Snapshot.Rollback", |
18920 | "VM.Audit" | |
2489d6df WB |
18921 | ], |
18922 | "any", | |
18923 | 1 | |
56122987 DM |
18924 | ] |
18925 | }, | |
44660702 | 18926 | "proxyto" : "node", |
56122987 | 18927 | "returns" : { |
44660702 | 18928 | "type" : "object" |
7aacca6f DM |
18929 | } |
18930 | }, | |
44660702 | 18931 | "PUT" : { |
e9cd3bd4 | 18932 | "allowtoken" : 1, |
44660702 DM |
18933 | "description" : "Update snapshot metadata.", |
18934 | "method" : "PUT", | |
18935 | "name" : "update_snapshot_config", | |
56122987 | 18936 | "parameters" : { |
44660702 | 18937 | "additionalProperties" : 0, |
56122987 | 18938 | "properties" : { |
44660702 DM |
18939 | "description" : { |
18940 | "description" : "A textual description or comment.", | |
18941 | "optional" : 1, | |
013dc89f DM |
18942 | "type" : "string", |
18943 | "typetext" : "<string>" | |
44660702 | 18944 | }, |
56122987 | 18945 | "node" : { |
7aacca6f | 18946 | "description" : "The cluster node name.", |
44660702 | 18947 | "format" : "pve-node", |
013dc89f DM |
18948 | "type" : "string", |
18949 | "typetext" : "<string>" | |
56122987 | 18950 | }, |
56122987 DM |
18951 | "snapname" : { |
18952 | "description" : "The name of the snapshot.", | |
44660702 | 18953 | "format" : "pve-configid", |
7aacca6f | 18954 | "maxLength" : 40, |
013dc89f DM |
18955 | "type" : "string", |
18956 | "typetext" : "<string>" | |
7aacca6f DM |
18957 | }, |
18958 | "vmid" : { | |
18959 | "description" : "The (unique) ID of the VM.", | |
44660702 | 18960 | "format" : "pve-vmid", |
7aacca6f | 18961 | "minimum" : 1, |
4bd7df8b | 18962 | "type" : "integer", |
013dc89f | 18963 | "typetext" : "<integer> (1 - N)" |
56122987 | 18964 | } |
44660702 | 18965 | } |
56122987 | 18966 | }, |
7aacca6f DM |
18967 | "permissions" : { |
18968 | "check" : [ | |
18969 | "perm", | |
18970 | "/vms/{vmid}", | |
18971 | [ | |
18972 | "VM.Snapshot" | |
18973 | ] | |
18974 | ] | |
44660702 DM |
18975 | }, |
18976 | "protected" : 1, | |
18977 | "proxyto" : "node", | |
18978 | "returns" : { | |
18979 | "type" : "null" | |
7aacca6f | 18980 | } |
56122987 DM |
18981 | } |
18982 | }, | |
44660702 | 18983 | "leaf" : 1, |
7aacca6f | 18984 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config", |
44660702 | 18985 | "text" : "config" |
56122987 DM |
18986 | }, |
18987 | { | |
56122987 DM |
18988 | "info" : { |
18989 | "POST" : { | |
e9cd3bd4 | 18990 | "allowtoken" : 1, |
44660702 | 18991 | "description" : "Rollback VM state to specified snapshot.", |
7aacca6f | 18992 | "method" : "POST", |
44660702 | 18993 | "name" : "rollback", |
56122987 DM |
18994 | "parameters" : { |
18995 | "additionalProperties" : 0, | |
18996 | "properties" : { | |
44660702 DM |
18997 | "node" : { |
18998 | "description" : "The cluster node name.", | |
18999 | "format" : "pve-node", | |
013dc89f DM |
19000 | "type" : "string", |
19001 | "typetext" : "<string>" | |
44660702 | 19002 | }, |
56122987 | 19003 | "snapname" : { |
44660702 | 19004 | "description" : "The name of the snapshot.", |
56122987 DM |
19005 | "format" : "pve-configid", |
19006 | "maxLength" : 40, | |
013dc89f DM |
19007 | "type" : "string", |
19008 | "typetext" : "<string>" | |
7aacca6f | 19009 | }, |
56122987 | 19010 | "vmid" : { |
7aacca6f | 19011 | "description" : "The (unique) ID of the VM.", |
44660702 | 19012 | "format" : "pve-vmid", |
56122987 | 19013 | "minimum" : 1, |
4bd7df8b | 19014 | "type" : "integer", |
013dc89f | 19015 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
19016 | } |
19017 | } | |
19018 | }, | |
7aacca6f | 19019 | "permissions" : { |
56122987 DM |
19020 | "check" : [ |
19021 | "perm", | |
19022 | "/vms/{vmid}", | |
19023 | [ | |
2489d6df WB |
19024 | "VM.Snapshot", |
19025 | "VM.Snapshot.Rollback" | |
19026 | ], | |
19027 | "any", | |
19028 | 1 | |
56122987 DM |
19029 | ] |
19030 | }, | |
44660702 | 19031 | "protected" : 1, |
7aacca6f | 19032 | "proxyto" : "node", |
44660702 DM |
19033 | "returns" : { |
19034 | "description" : "the task ID.", | |
19035 | "type" : "string" | |
19036 | } | |
56122987 DM |
19037 | } |
19038 | }, | |
44660702 DM |
19039 | "leaf" : 1, |
19040 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback", | |
7aacca6f | 19041 | "text" : "rollback" |
56122987 | 19042 | } |
44660702 DM |
19043 | ], |
19044 | "info" : { | |
19045 | "DELETE" : { | |
e9cd3bd4 | 19046 | "allowtoken" : 1, |
44660702 DM |
19047 | "description" : "Delete a VM snapshot.", |
19048 | "method" : "DELETE", | |
19049 | "name" : "delsnapshot", | |
19050 | "parameters" : { | |
19051 | "additionalProperties" : 0, | |
19052 | "properties" : { | |
19053 | "force" : { | |
19054 | "description" : "For removal from config file, even if removing disk snapshots fails.", | |
19055 | "optional" : 1, | |
013dc89f DM |
19056 | "type" : "boolean", |
19057 | "typetext" : "<boolean>" | |
44660702 DM |
19058 | }, |
19059 | "node" : { | |
19060 | "description" : "The cluster node name.", | |
19061 | "format" : "pve-node", | |
013dc89f DM |
19062 | "type" : "string", |
19063 | "typetext" : "<string>" | |
44660702 DM |
19064 | }, |
19065 | "snapname" : { | |
19066 | "description" : "The name of the snapshot.", | |
19067 | "format" : "pve-configid", | |
19068 | "maxLength" : 40, | |
013dc89f DM |
19069 | "type" : "string", |
19070 | "typetext" : "<string>" | |
44660702 DM |
19071 | }, |
19072 | "vmid" : { | |
19073 | "description" : "The (unique) ID of the VM.", | |
19074 | "format" : "pve-vmid", | |
19075 | "minimum" : 1, | |
4bd7df8b | 19076 | "type" : "integer", |
013dc89f | 19077 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
19078 | } |
19079 | } | |
19080 | }, | |
19081 | "permissions" : { | |
19082 | "check" : [ | |
19083 | "perm", | |
19084 | "/vms/{vmid}", | |
19085 | [ | |
19086 | "VM.Snapshot" | |
19087 | ] | |
19088 | ] | |
19089 | }, | |
19090 | "protected" : 1, | |
19091 | "proxyto" : "node", | |
19092 | "returns" : { | |
19093 | "description" : "the task ID.", | |
19094 | "type" : "string" | |
19095 | } | |
19096 | }, | |
19097 | "GET" : { | |
e9cd3bd4 | 19098 | "allowtoken" : 1, |
44660702 DM |
19099 | "description" : "", |
19100 | "method" : "GET", | |
19101 | "name" : "snapshot_cmd_idx", | |
19102 | "parameters" : { | |
19103 | "additionalProperties" : 0, | |
19104 | "properties" : { | |
19105 | "node" : { | |
19106 | "description" : "The cluster node name.", | |
19107 | "format" : "pve-node", | |
013dc89f DM |
19108 | "type" : "string", |
19109 | "typetext" : "<string>" | |
44660702 DM |
19110 | }, |
19111 | "snapname" : { | |
19112 | "description" : "The name of the snapshot.", | |
19113 | "format" : "pve-configid", | |
19114 | "maxLength" : 40, | |
013dc89f DM |
19115 | "type" : "string", |
19116 | "typetext" : "<string>" | |
44660702 DM |
19117 | }, |
19118 | "vmid" : { | |
19119 | "description" : "The (unique) ID of the VM.", | |
19120 | "format" : "pve-vmid", | |
19121 | "minimum" : 1, | |
4bd7df8b | 19122 | "type" : "integer", |
013dc89f | 19123 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
19124 | } |
19125 | } | |
19126 | }, | |
19127 | "permissions" : { | |
19128 | "user" : "all" | |
19129 | }, | |
19130 | "returns" : { | |
19131 | "items" : { | |
19132 | "properties" : {}, | |
19133 | "type" : "object" | |
19134 | }, | |
19135 | "links" : [ | |
19136 | { | |
19137 | "href" : "{cmd}", | |
19138 | "rel" : "child" | |
19139 | } | |
19140 | ], | |
19141 | "type" : "array" | |
19142 | } | |
19143 | } | |
19144 | }, | |
19145 | "leaf" : 0, | |
19146 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}", | |
19147 | "text" : "{snapname}" | |
56122987 DM |
19148 | } |
19149 | ], | |
44660702 DM |
19150 | "info" : { |
19151 | "GET" : { | |
e9cd3bd4 | 19152 | "allowtoken" : 1, |
44660702 DM |
19153 | "description" : "List all snapshots.", |
19154 | "method" : "GET", | |
19155 | "name" : "snapshot_list", | |
19156 | "parameters" : { | |
19157 | "additionalProperties" : 0, | |
19158 | "properties" : { | |
19159 | "node" : { | |
19160 | "description" : "The cluster node name.", | |
19161 | "format" : "pve-node", | |
013dc89f DM |
19162 | "type" : "string", |
19163 | "typetext" : "<string>" | |
44660702 DM |
19164 | }, |
19165 | "vmid" : { | |
19166 | "description" : "The (unique) ID of the VM.", | |
19167 | "format" : "pve-vmid", | |
19168 | "minimum" : 1, | |
4bd7df8b | 19169 | "type" : "integer", |
013dc89f | 19170 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
19171 | } |
19172 | } | |
19173 | }, | |
19174 | "permissions" : { | |
19175 | "check" : [ | |
19176 | "perm", | |
19177 | "/vms/{vmid}", | |
19178 | [ | |
19179 | "VM.Audit" | |
19180 | ] | |
19181 | ] | |
19182 | }, | |
19183 | "protected" : 1, | |
19184 | "proxyto" : "node", | |
19185 | "returns" : { | |
19186 | "items" : { | |
4d47f125 TL |
19187 | "properties" : { |
19188 | "description" : { | |
19189 | "description" : "Snapshot description.", | |
19190 | "type" : "string" | |
19191 | }, | |
19192 | "name" : { | |
19193 | "description" : "Snapshot identifier. Value 'current' identifies the current VM.", | |
19194 | "type" : "string" | |
19195 | }, | |
19196 | "parent" : { | |
19197 | "description" : "Parent snapshot identifier.", | |
19198 | "optional" : 1, | |
19199 | "type" : "string" | |
19200 | }, | |
19201 | "snaptime" : { | |
19202 | "description" : "Snapshot creation time", | |
19203 | "optional" : 1, | |
19204 | "renderer" : "timestamp", | |
19205 | "type" : "integer" | |
19206 | }, | |
19207 | "vmstate" : { | |
19208 | "description" : "Snapshot includes RAM.", | |
19209 | "optional" : 1, | |
19210 | "type" : "boolean" | |
19211 | } | |
19212 | }, | |
44660702 DM |
19213 | "type" : "object" |
19214 | }, | |
19215 | "links" : [ | |
19216 | { | |
19217 | "href" : "{name}", | |
19218 | "rel" : "child" | |
19219 | } | |
19220 | ], | |
19221 | "type" : "array" | |
19222 | } | |
19223 | }, | |
19224 | "POST" : { | |
e9cd3bd4 | 19225 | "allowtoken" : 1, |
44660702 DM |
19226 | "description" : "Snapshot a VM.", |
19227 | "method" : "POST", | |
19228 | "name" : "snapshot", | |
19229 | "parameters" : { | |
19230 | "additionalProperties" : 0, | |
19231 | "properties" : { | |
19232 | "description" : { | |
19233 | "description" : "A textual description or comment.", | |
19234 | "optional" : 1, | |
013dc89f DM |
19235 | "type" : "string", |
19236 | "typetext" : "<string>" | |
44660702 DM |
19237 | }, |
19238 | "node" : { | |
19239 | "description" : "The cluster node name.", | |
19240 | "format" : "pve-node", | |
013dc89f DM |
19241 | "type" : "string", |
19242 | "typetext" : "<string>" | |
44660702 DM |
19243 | }, |
19244 | "snapname" : { | |
19245 | "description" : "The name of the snapshot.", | |
19246 | "format" : "pve-configid", | |
19247 | "maxLength" : 40, | |
013dc89f DM |
19248 | "type" : "string", |
19249 | "typetext" : "<string>" | |
44660702 DM |
19250 | }, |
19251 | "vmid" : { | |
19252 | "description" : "The (unique) ID of the VM.", | |
19253 | "format" : "pve-vmid", | |
19254 | "minimum" : 1, | |
4bd7df8b | 19255 | "type" : "integer", |
013dc89f | 19256 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
19257 | }, |
19258 | "vmstate" : { | |
19259 | "description" : "Save the vmstate", | |
19260 | "optional" : 1, | |
013dc89f DM |
19261 | "type" : "boolean", |
19262 | "typetext" : "<boolean>" | |
44660702 DM |
19263 | } |
19264 | } | |
19265 | }, | |
19266 | "permissions" : { | |
19267 | "check" : [ | |
19268 | "perm", | |
19269 | "/vms/{vmid}", | |
19270 | [ | |
19271 | "VM.Snapshot" | |
19272 | ] | |
19273 | ] | |
19274 | }, | |
19275 | "protected" : 1, | |
19276 | "proxyto" : "node", | |
19277 | "returns" : { | |
19278 | "description" : "the task ID.", | |
19279 | "type" : "string" | |
19280 | } | |
19281 | } | |
19282 | }, | |
19283 | "leaf" : 0, | |
19284 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot", | |
7aacca6f | 19285 | "text" : "snapshot" |
56122987 DM |
19286 | }, |
19287 | { | |
56122987 DM |
19288 | "info" : { |
19289 | "POST" : { | |
e9cd3bd4 | 19290 | "allowtoken" : 1, |
44660702 DM |
19291 | "description" : "Create a Template.", |
19292 | "method" : "POST", | |
56122987 | 19293 | "name" : "template", |
56122987 | 19294 | "parameters" : { |
7aacca6f | 19295 | "additionalProperties" : 0, |
56122987 | 19296 | "properties" : { |
56122987 | 19297 | "disk" : { |
56122987 DM |
19298 | "description" : "If you want to convert only 1 disk to base image.", |
19299 | "enum" : [ | |
19300 | "ide0", | |
19301 | "ide1", | |
19302 | "ide2", | |
19303 | "ide3", | |
19304 | "scsi0", | |
19305 | "scsi1", | |
19306 | "scsi2", | |
19307 | "scsi3", | |
19308 | "scsi4", | |
19309 | "scsi5", | |
19310 | "scsi6", | |
19311 | "scsi7", | |
19312 | "scsi8", | |
19313 | "scsi9", | |
19314 | "scsi10", | |
19315 | "scsi11", | |
19316 | "scsi12", | |
19317 | "scsi13", | |
e9cd3bd4 TL |
19318 | "scsi14", |
19319 | "scsi15", | |
19320 | "scsi16", | |
19321 | "scsi17", | |
19322 | "scsi18", | |
19323 | "scsi19", | |
19324 | "scsi20", | |
19325 | "scsi21", | |
19326 | "scsi22", | |
19327 | "scsi23", | |
19328 | "scsi24", | |
19329 | "scsi25", | |
19330 | "scsi26", | |
19331 | "scsi27", | |
19332 | "scsi28", | |
19333 | "scsi29", | |
19334 | "scsi30", | |
56122987 DM |
19335 | "virtio0", |
19336 | "virtio1", | |
19337 | "virtio2", | |
19338 | "virtio3", | |
19339 | "virtio4", | |
19340 | "virtio5", | |
19341 | "virtio6", | |
19342 | "virtio7", | |
19343 | "virtio8", | |
19344 | "virtio9", | |
19345 | "virtio10", | |
19346 | "virtio11", | |
19347 | "virtio12", | |
19348 | "virtio13", | |
19349 | "virtio14", | |
19350 | "virtio15", | |
19351 | "sata0", | |
19352 | "sata1", | |
19353 | "sata2", | |
19354 | "sata3", | |
19355 | "sata4", | |
2c0dde61 DM |
19356 | "sata5", |
19357 | "efidisk0" | |
56122987 | 19358 | ], |
7aacca6f | 19359 | "optional" : 1, |
56122987 DM |
19360 | "type" : "string" |
19361 | }, | |
44660702 DM |
19362 | "node" : { |
19363 | "description" : "The cluster node name.", | |
19364 | "format" : "pve-node", | |
013dc89f DM |
19365 | "type" : "string", |
19366 | "typetext" : "<string>" | |
44660702 DM |
19367 | }, |
19368 | "vmid" : { | |
19369 | "description" : "The (unique) ID of the VM.", | |
7aacca6f | 19370 | "format" : "pve-vmid", |
44660702 | 19371 | "minimum" : 1, |
4bd7df8b | 19372 | "type" : "integer", |
013dc89f | 19373 | "typetext" : "<integer> (1 - N)" |
56122987 | 19374 | } |
7aacca6f | 19375 | } |
56122987 | 19376 | }, |
7aacca6f DM |
19377 | "permissions" : { |
19378 | "check" : [ | |
19379 | "perm", | |
19380 | "/vms/{vmid}", | |
19381 | [ | |
19382 | "VM.Allocate" | |
19383 | ] | |
19384 | ], | |
19385 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}" | |
19386 | }, | |
44660702 | 19387 | "protected" : 1, |
7aacca6f | 19388 | "proxyto" : "node", |
7aacca6f DM |
19389 | "returns" : { |
19390 | "type" : "null" | |
19391 | } | |
56122987 DM |
19392 | } |
19393 | }, | |
44660702 | 19394 | "leaf" : 1, |
7aacca6f | 19395 | "path" : "/nodes/{node}/qemu/{vmid}/template", |
44660702 | 19396 | "text" : "template" |
1e3f8156 TL |
19397 | }, |
19398 | { | |
19399 | "children" : [ | |
19400 | { | |
19401 | "info" : { | |
19402 | "GET" : { | |
e9cd3bd4 | 19403 | "allowtoken" : 1, |
1e3f8156 TL |
19404 | "description" : "Get automatically generated cloudinit config.", |
19405 | "method" : "GET", | |
19406 | "name" : "cloudinit_generated_config_dump", | |
19407 | "parameters" : { | |
19408 | "additionalProperties" : 0, | |
19409 | "properties" : { | |
19410 | "node" : { | |
19411 | "description" : "The cluster node name.", | |
19412 | "format" : "pve-node", | |
19413 | "type" : "string", | |
19414 | "typetext" : "<string>" | |
19415 | }, | |
19416 | "type" : { | |
19417 | "description" : "Config type.", | |
19418 | "enum" : [ | |
19419 | "user", | |
19420 | "network", | |
19421 | "meta" | |
19422 | ], | |
19423 | "type" : "string" | |
19424 | }, | |
19425 | "vmid" : { | |
19426 | "description" : "The (unique) ID of the VM.", | |
19427 | "format" : "pve-vmid", | |
19428 | "minimum" : 1, | |
19429 | "type" : "integer", | |
19430 | "typetext" : "<integer> (1 - N)" | |
19431 | } | |
19432 | } | |
19433 | }, | |
19434 | "permissions" : { | |
19435 | "check" : [ | |
19436 | "perm", | |
19437 | "/vms/{vmid}", | |
19438 | [ | |
19439 | "VM.Audit" | |
19440 | ] | |
19441 | ] | |
19442 | }, | |
19443 | "proxyto" : "node", | |
19444 | "returns" : { | |
19445 | "type" : "string" | |
19446 | } | |
19447 | } | |
19448 | }, | |
19449 | "leaf" : 1, | |
19450 | "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump", | |
19451 | "text" : "dump" | |
19452 | } | |
19453 | ], | |
19454 | "leaf" : 0, | |
19455 | "path" : "/nodes/{node}/qemu/{vmid}/cloudinit", | |
19456 | "text" : "cloudinit" | |
56122987 DM |
19457 | } |
19458 | ], | |
7aacca6f | 19459 | "info" : { |
44660702 | 19460 | "DELETE" : { |
e9cd3bd4 | 19461 | "allowtoken" : 1, |
44660702 DM |
19462 | "description" : "Destroy the vm (also delete all used/owned volumes).", |
19463 | "method" : "DELETE", | |
19464 | "name" : "destroy_vm", | |
7aacca6f | 19465 | "parameters" : { |
44660702 | 19466 | "additionalProperties" : 0, |
7aacca6f DM |
19467 | "properties" : { |
19468 | "node" : { | |
44660702 | 19469 | "description" : "The cluster node name.", |
7aacca6f | 19470 | "format" : "pve-node", |
013dc89f DM |
19471 | "type" : "string", |
19472 | "typetext" : "<string>" | |
44660702 | 19473 | }, |
1c532546 TL |
19474 | "purge" : { |
19475 | "description" : "Remove vmid from backup cron jobs.", | |
19476 | "optional" : 1, | |
19477 | "type" : "boolean", | |
19478 | "typetext" : "<boolean>" | |
19479 | }, | |
44660702 DM |
19480 | "skiplock" : { |
19481 | "description" : "Ignore locks - only root is allowed to use this option.", | |
19482 | "optional" : 1, | |
013dc89f DM |
19483 | "type" : "boolean", |
19484 | "typetext" : "<boolean>" | |
7aacca6f DM |
19485 | }, |
19486 | "vmid" : { | |
44660702 | 19487 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 19488 | "format" : "pve-vmid", |
44660702 | 19489 | "minimum" : 1, |
4bd7df8b | 19490 | "type" : "integer", |
013dc89f | 19491 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 19492 | } |
44660702 | 19493 | } |
7aacca6f | 19494 | }, |
7aacca6f DM |
19495 | "permissions" : { |
19496 | "check" : [ | |
19497 | "perm", | |
19498 | "/vms/{vmid}", | |
19499 | [ | |
19500 | "VM.Allocate" | |
19501 | ] | |
19502 | ] | |
19503 | }, | |
44660702 DM |
19504 | "protected" : 1, |
19505 | "proxyto" : "node", | |
7aacca6f DM |
19506 | "returns" : { |
19507 | "type" : "string" | |
44660702 DM |
19508 | } |
19509 | }, | |
19510 | "GET" : { | |
e9cd3bd4 | 19511 | "allowtoken" : 1, |
44660702 DM |
19512 | "description" : "Directory index", |
19513 | "method" : "GET", | |
19514 | "name" : "vmdiridx", | |
7aacca6f | 19515 | "parameters" : { |
44660702 | 19516 | "additionalProperties" : 0, |
7aacca6f | 19517 | "properties" : { |
7aacca6f | 19518 | "node" : { |
7aacca6f | 19519 | "description" : "The cluster node name.", |
44660702 | 19520 | "format" : "pve-node", |
013dc89f DM |
19521 | "type" : "string", |
19522 | "typetext" : "<string>" | |
44660702 DM |
19523 | }, |
19524 | "vmid" : { | |
19525 | "description" : "The (unique) ID of the VM.", | |
19526 | "format" : "pve-vmid", | |
19527 | "minimum" : 1, | |
4bd7df8b | 19528 | "type" : "integer", |
013dc89f | 19529 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 19530 | } |
44660702 | 19531 | } |
7aacca6f | 19532 | }, |
44660702 DM |
19533 | "permissions" : { |
19534 | "user" : "all" | |
19535 | }, | |
19536 | "proxyto" : "node", | |
19537 | "returns" : { | |
19538 | "items" : { | |
19539 | "properties" : { | |
19540 | "subdir" : { | |
19541 | "type" : "string" | |
19542 | } | |
19543 | }, | |
19544 | "type" : "object" | |
19545 | }, | |
19546 | "links" : [ | |
19547 | { | |
19548 | "href" : "{subdir}", | |
19549 | "rel" : "child" | |
19550 | } | |
19551 | ], | |
19552 | "type" : "array" | |
19553 | } | |
7aacca6f | 19554 | } |
44660702 DM |
19555 | }, |
19556 | "leaf" : 0, | |
19557 | "path" : "/nodes/{node}/qemu/{vmid}", | |
19558 | "text" : "{vmid}" | |
56122987 DM |
19559 | } |
19560 | ], | |
19561 | "info" : { | |
44660702 | 19562 | "GET" : { |
e9cd3bd4 | 19563 | "allowtoken" : 1, |
44660702 DM |
19564 | "description" : "Virtual machine index (per node).", |
19565 | "method" : "GET", | |
19566 | "name" : "vmlist", | |
56122987 | 19567 | "parameters" : { |
44660702 | 19568 | "additionalProperties" : 0, |
56122987 | 19569 | "properties" : { |
44660702 DM |
19570 | "full" : { |
19571 | "description" : "Determine the full status of active VMs.", | |
56122987 | 19572 | "optional" : 1, |
013dc89f DM |
19573 | "type" : "boolean", |
19574 | "typetext" : "<boolean>" | |
56122987 | 19575 | }, |
44660702 DM |
19576 | "node" : { |
19577 | "description" : "The cluster node name.", | |
19578 | "format" : "pve-node", | |
013dc89f DM |
19579 | "type" : "string", |
19580 | "typetext" : "<string>" | |
44660702 DM |
19581 | } |
19582 | } | |
19583 | }, | |
19584 | "permissions" : { | |
19585 | "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.", | |
19586 | "user" : "all" | |
19587 | }, | |
19588 | "protected" : 1, | |
19589 | "proxyto" : "node", | |
19590 | "returns" : { | |
19591 | "items" : { | |
4d47f125 TL |
19592 | "properties" : { |
19593 | "cpus" : { | |
19594 | "description" : "Maximum usable CPUs.", | |
19595 | "optional" : 1, | |
19596 | "type" : "number" | |
19597 | }, | |
95895385 TL |
19598 | "lock" : { |
19599 | "description" : "The current config lock, if any.", | |
19600 | "optional" : 1, | |
19601 | "type" : "string" | |
19602 | }, | |
4d47f125 TL |
19603 | "maxdisk" : { |
19604 | "description" : "Root disk size in bytes.", | |
19605 | "optional" : 1, | |
19606 | "renderer" : "bytes", | |
19607 | "type" : "integer" | |
19608 | }, | |
19609 | "maxmem" : { | |
19610 | "description" : "Maximum memory in bytes.", | |
19611 | "optional" : 1, | |
19612 | "renderer" : "bytes", | |
19613 | "type" : "integer" | |
19614 | }, | |
19615 | "name" : { | |
19616 | "description" : "VM name.", | |
19617 | "optional" : 1, | |
19618 | "type" : "string" | |
19619 | }, | |
19620 | "pid" : { | |
19621 | "description" : "PID of running qemu process.", | |
19622 | "optional" : 1, | |
19623 | "type" : "integer" | |
19624 | }, | |
19625 | "qmpstatus" : { | |
19626 | "description" : "Qemu QMP agent status.", | |
19627 | "optional" : 1, | |
19628 | "type" : "string" | |
19629 | }, | |
19630 | "status" : { | |
19631 | "description" : "Qemu process status.", | |
19632 | "enum" : [ | |
19633 | "stopped", | |
19634 | "running" | |
19635 | ], | |
19636 | "type" : "string" | |
19637 | }, | |
5c1699e5 TL |
19638 | "tags" : { |
19639 | "description" : "The current configured tags, if any", | |
19640 | "optional" : 1, | |
19641 | "type" : "string" | |
19642 | }, | |
4d47f125 TL |
19643 | "uptime" : { |
19644 | "description" : "Uptime.", | |
19645 | "optional" : 1, | |
19646 | "renderer" : "duration", | |
19647 | "type" : "integer" | |
19648 | }, | |
19649 | "vmid" : { | |
19650 | "description" : "The (unique) ID of the VM.", | |
19651 | "format" : "pve-vmid", | |
19652 | "minimum" : 1, | |
19653 | "type" : "integer" | |
19654 | } | |
19655 | }, | |
44660702 DM |
19656 | "type" : "object" |
19657 | }, | |
19658 | "links" : [ | |
19659 | { | |
19660 | "href" : "{vmid}", | |
19661 | "rel" : "child" | |
19662 | } | |
19663 | ], | |
19664 | "type" : "array" | |
19665 | } | |
19666 | }, | |
19667 | "POST" : { | |
e9cd3bd4 | 19668 | "allowtoken" : 1, |
44660702 DM |
19669 | "description" : "Create or restore a virtual machine.", |
19670 | "method" : "POST", | |
19671 | "name" : "create_vm", | |
19672 | "parameters" : { | |
19673 | "additionalProperties" : 0, | |
19674 | "properties" : { | |
7aacca6f | 19675 | "acpi" : { |
7aacca6f | 19676 | "default" : 1, |
44660702 | 19677 | "description" : "Enable/disable ACPI.", |
56122987 | 19678 | "optional" : 1, |
013dc89f DM |
19679 | "type" : "boolean", |
19680 | "typetext" : "<boolean>" | |
56122987 | 19681 | }, |
44660702 | 19682 | "agent" : { |
4d47f125 TL |
19683 | "description" : "Enable/disable Qemu GuestAgent and its properties.", |
19684 | "format" : { | |
19685 | "enabled" : { | |
19686 | "default" : 0, | |
19687 | "default_key" : 1, | |
19688 | "description" : "Enable/disable Qemu GuestAgent.", | |
19689 | "type" : "boolean" | |
19690 | }, | |
19691 | "fstrim_cloned_disks" : { | |
19692 | "default" : 0, | |
19693 | "description" : "Run fstrim after cloning/moving a disk.", | |
19694 | "optional" : 1, | |
19695 | "type" : "boolean" | |
5c1699e5 TL |
19696 | }, |
19697 | "type" : { | |
19698 | "default" : "virtio", | |
19699 | "description" : "Select the agent type", | |
19700 | "enum" : [ | |
19701 | "virtio", | |
19702 | "isa" | |
19703 | ], | |
19704 | "optional" : 1, | |
19705 | "type" : "string" | |
4d47f125 TL |
19706 | } |
19707 | }, | |
7aacca6f | 19708 | "optional" : 1, |
4d47f125 | 19709 | "type" : "string", |
5c1699e5 | 19710 | "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]" |
56122987 | 19711 | }, |
e2d681b3 TL |
19712 | "arch" : { |
19713 | "description" : "Virtual processor architecture. Defaults to the host.", | |
19714 | "enum" : [ | |
19715 | "x86_64", | |
19716 | "aarch64" | |
19717 | ], | |
19718 | "optional" : 1, | |
19719 | "type" : "string" | |
19720 | }, | |
44660702 | 19721 | "archive" : { |
c5aa7e14 | 19722 | "description" : "The backup archive. Either the file system path to a .tar or .vma file (use '-' to pipe data from stdin) or a proxmox storage backup volume identifier.", |
44660702 | 19723 | "maxLength" : 255, |
56122987 | 19724 | "optional" : 1, |
013dc89f DM |
19725 | "type" : "string", |
19726 | "typetext" : "<string>" | |
56122987 | 19727 | }, |
44660702 | 19728 | "args" : { |
c2993fe5 | 19729 | "description" : "Arbitrary arguments passed to kvm.", |
56122987 | 19730 | "optional" : 1, |
c2993fe5 | 19731 | "type" : "string", |
013dc89f | 19732 | "typetext" : "<string>", |
c2993fe5 | 19733 | "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 | 19734 | }, |
1c532546 TL |
19735 | "audio0" : { |
19736 | "description" : "Configure a audio device, useful in combination with QXL/Spice.", | |
19737 | "format" : { | |
19738 | "device" : { | |
19739 | "description" : "Configure an audio device.", | |
19740 | "enum" : [ | |
19741 | "ich9-intel-hda", | |
19742 | "intel-hda", | |
19743 | "AC97" | |
19744 | ], | |
19745 | "type" : "string" | |
19746 | }, | |
19747 | "driver" : { | |
19748 | "default" : "spice", | |
19749 | "description" : "Driver backend for the audio device.", | |
19750 | "enum" : [ | |
19751 | "spice" | |
19752 | ], | |
19753 | "optional" : 1, | |
19754 | "type" : "string" | |
19755 | } | |
19756 | }, | |
19757 | "optional" : 1, | |
19758 | "type" : "string", | |
19759 | "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]" | |
19760 | }, | |
44660702 | 19761 | "autostart" : { |
7aacca6f | 19762 | "default" : 0, |
44660702 DM |
19763 | "description" : "Automatic restart after crash (currently ignored).", |
19764 | "optional" : 1, | |
013dc89f DM |
19765 | "type" : "boolean", |
19766 | "typetext" : "<boolean>" | |
7aacca6f | 19767 | }, |
44660702 DM |
19768 | "balloon" : { |
19769 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
19770 | "minimum" : 0, | |
56122987 | 19771 | "optional" : 1, |
4bd7df8b | 19772 | "type" : "integer", |
013dc89f | 19773 | "typetext" : "<integer> (0 - N)" |
56122987 | 19774 | }, |
44660702 DM |
19775 | "bios" : { |
19776 | "default" : "seabios", | |
19777 | "description" : "Select BIOS implementation.", | |
19778 | "enum" : [ | |
19779 | "seabios", | |
19780 | "ovmf" | |
19781 | ], | |
56122987 | 19782 | "optional" : 1, |
44660702 | 19783 | "type" : "string" |
56122987 | 19784 | }, |
44660702 DM |
19785 | "boot" : { |
19786 | "default" : "cdn", | |
19787 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
56122987 | 19788 | "optional" : 1, |
44660702 DM |
19789 | "pattern" : "[acdn]{1,4}", |
19790 | "type" : "string" | |
56122987 | 19791 | }, |
7aacca6f DM |
19792 | "bootdisk" : { |
19793 | "description" : "Enable booting from specified disk.", | |
44660702 DM |
19794 | "format" : "pve-qm-bootdisk", |
19795 | "optional" : 1, | |
7aacca6f | 19796 | "pattern" : "(ide|sata|scsi|virtio)\\d+", |
44660702 DM |
19797 | "type" : "string" |
19798 | }, | |
27a7acb2 | 19799 | "bwlimit" : { |
95895385 TL |
19800 | "default" : "restore limit from datacenter or storage config", |
19801 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
27a7acb2 DM |
19802 | "minimum" : "0", |
19803 | "optional" : 1, | |
19804 | "type" : "integer", | |
19805 | "typetext" : "<integer> (0 - N)" | |
19806 | }, | |
44660702 DM |
19807 | "cdrom" : { |
19808 | "description" : "This is an alias for option -ide2", | |
de0983cb | 19809 | "format" : "pve-qm-ide", |
56122987 | 19810 | "optional" : 1, |
44660702 | 19811 | "type" : "string", |
013dc89f | 19812 | "typetext" : "<volume>" |
56122987 | 19813 | }, |
95895385 TL |
19814 | "cicustom" : { |
19815 | "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.", | |
19816 | "format" : "pve-qm-cicustom", | |
19817 | "optional" : 1, | |
19818 | "type" : "string", | |
19819 | "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]" | |
19820 | }, | |
27a7acb2 DM |
19821 | "cipassword" : { |
19822 | "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.", | |
19823 | "optional" : 1, | |
19824 | "type" : "string", | |
19825 | "typetext" : "<string>" | |
19826 | }, | |
19827 | "citype" : { | |
19828 | "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.", | |
19829 | "enum" : [ | |
19830 | "configdrive2", | |
19831 | "nocloud" | |
19832 | ], | |
19833 | "optional" : 1, | |
19834 | "type" : "string" | |
19835 | }, | |
19836 | "ciuser" : { | |
19837 | "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.", | |
19838 | "optional" : 1, | |
19839 | "type" : "string", | |
19840 | "typetext" : "<string>" | |
19841 | }, | |
44660702 DM |
19842 | "cores" : { |
19843 | "default" : 1, | |
19844 | "description" : "The number of cores per socket.", | |
7aacca6f | 19845 | "minimum" : 1, |
44660702 | 19846 | "optional" : 1, |
4bd7df8b | 19847 | "type" : "integer", |
013dc89f | 19848 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 19849 | }, |
44660702 DM |
19850 | "cpu" : { |
19851 | "description" : "Emulated CPU type.", | |
c5aa7e14 | 19852 | "format" : "pve-vm-cpu-conf", |
56122987 | 19853 | "optional" : 1, |
4bd7df8b | 19854 | "type" : "string", |
c5aa7e14 | 19855 | "typetext" : "<string>" |
56122987 | 19856 | }, |
44660702 | 19857 | "cpulimit" : { |
7aacca6f | 19858 | "default" : 0, |
c2993fe5 | 19859 | "description" : "Limit of CPU usage.", |
44660702 DM |
19860 | "maximum" : 128, |
19861 | "minimum" : 0, | |
7aacca6f | 19862 | "optional" : 1, |
c2993fe5 | 19863 | "type" : "number", |
013dc89f | 19864 | "typetext" : "<number> (0 - 128)", |
c2993fe5 | 19865 | "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 |
19866 | }, |
19867 | "cpuunits" : { | |
de0983cb | 19868 | "default" : 1024, |
c2993fe5 | 19869 | "description" : "CPU weight for a VM.", |
2489d6df WB |
19870 | "maximum" : 262144, |
19871 | "minimum" : 2, | |
44660702 | 19872 | "optional" : 1, |
c2993fe5 | 19873 | "type" : "integer", |
2489d6df WB |
19874 | "typetext" : "<integer> (2 - 262144)", |
19875 | "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." | |
44660702 DM |
19876 | }, |
19877 | "description" : { | |
19878 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
56122987 | 19879 | "optional" : 1, |
013dc89f DM |
19880 | "type" : "string", |
19881 | "typetext" : "<string>" | |
44660702 | 19882 | }, |
4d47f125 TL |
19883 | "efidisk0" : { |
19884 | "description" : "Configure a Disk for storing EFI vars", | |
19885 | "format" : { | |
19886 | "file" : { | |
19887 | "default_key" : 1, | |
19888 | "description" : "The drive's backing volume.", | |
19889 | "format" : "pve-volume-id-or-qm-path", | |
19890 | "format_description" : "volume", | |
19891 | "type" : "string" | |
19892 | }, | |
19893 | "format" : { | |
19894 | "description" : "The drive's backing file's data format.", | |
19895 | "enum" : [ | |
19896 | "raw", | |
19897 | "cow", | |
19898 | "qcow", | |
19899 | "qed", | |
19900 | "qcow2", | |
19901 | "vmdk", | |
19902 | "cloop" | |
19903 | ], | |
19904 | "optional" : 1, | |
19905 | "type" : "string" | |
19906 | }, | |
19907 | "size" : { | |
19908 | "description" : "Disk size. This is purely informational and has no effect.", | |
19909 | "format" : "disk-size", | |
19910 | "format_description" : "DiskSize", | |
19911 | "optional" : 1, | |
19912 | "type" : "string" | |
19913 | }, | |
19914 | "volume" : { | |
19915 | "alias" : "file" | |
19916 | } | |
19917 | }, | |
19918 | "optional" : 1, | |
19919 | "type" : "string", | |
19920 | "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]" | |
19921 | }, | |
44660702 DM |
19922 | "force" : { |
19923 | "description" : "Allow to overwrite existing VM.", | |
19924 | "optional" : 1, | |
19925 | "requires" : "archive", | |
013dc89f DM |
19926 | "type" : "boolean", |
19927 | "typetext" : "<boolean>" | |
44660702 DM |
19928 | }, |
19929 | "freeze" : { | |
19930 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
19931 | "optional" : 1, | |
013dc89f DM |
19932 | "type" : "boolean", |
19933 | "typetext" : "<boolean>" | |
44660702 | 19934 | }, |
5f26e15b TL |
19935 | "hookscript" : { |
19936 | "description" : "Script that will be executed during various steps in the vms lifetime.", | |
19937 | "format" : "pve-volume-id", | |
19938 | "optional" : 1, | |
19939 | "type" : "string", | |
19940 | "typetext" : "<string>" | |
19941 | }, | |
44660702 | 19942 | "hostpci[n]" : { |
c2993fe5 | 19943 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
19944 | "format" : "pve-qm-hostpci", |
19945 | "optional" : 1, | |
57b78691 | 19946 | "type" : "string", |
e2d681b3 | 19947 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]", |
bb4c8cf8 | 19948 | "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 |
19949 | }, |
19950 | "hotplug" : { | |
19951 | "default" : "network,disk,usb", | |
19952 | "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'.", | |
19953 | "format" : "pve-hotplug-features", | |
19954 | "optional" : 1, | |
013dc89f DM |
19955 | "type" : "string", |
19956 | "typetext" : "<string>" | |
7aacca6f | 19957 | }, |
4bd7df8b DM |
19958 | "hugepages" : { |
19959 | "description" : "Enable/disable hugepages memory.", | |
19960 | "enum" : [ | |
19961 | "any", | |
19962 | "2", | |
19963 | "1024" | |
19964 | ], | |
19965 | "optional" : 1, | |
19966 | "type" : "string" | |
19967 | }, | |
7aacca6f | 19968 | "ide[n]" : { |
44660702 | 19969 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", |
56122987 | 19970 | "format" : { |
44660702 DM |
19971 | "aio" : { |
19972 | "description" : "AIO type to use.", | |
19973 | "enum" : [ | |
19974 | "native", | |
19975 | "threads" | |
19976 | ], | |
44660702 DM |
19977 | "optional" : 1, |
19978 | "type" : "string" | |
19979 | }, | |
19980 | "backup" : { | |
19981 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
19982 | "optional" : 1, |
19983 | "type" : "boolean" | |
19984 | }, | |
19985 | "bps" : { | |
de0983cb | 19986 | "description" : "Maximum r/w speed in bytes per second.", |
7aacca6f | 19987 | "format_description" : "bps", |
56122987 | 19988 | "optional" : 1, |
44660702 | 19989 | "type" : "integer" |
56122987 | 19990 | }, |
de0983cb DM |
19991 | "bps_max_length" : { |
19992 | "description" : "Maximum length of I/O bursts in seconds.", | |
19993 | "format_description" : "seconds", | |
19994 | "minimum" : 1, | |
19995 | "optional" : 1, | |
19996 | "type" : "integer" | |
19997 | }, | |
44660702 | 19998 | "bps_rd" : { |
de0983cb | 19999 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 20000 | "format_description" : "bps", |
56122987 | 20001 | "optional" : 1, |
44660702 | 20002 | "type" : "integer" |
56122987 | 20003 | }, |
de0983cb | 20004 | "bps_rd_length" : { |
5d9c884c DM |
20005 | "alias" : "bps_rd_max_length" |
20006 | }, | |
20007 | "bps_rd_max_length" : { | |
de0983cb DM |
20008 | "description" : "Maximum length of read I/O bursts in seconds.", |
20009 | "format_description" : "seconds", | |
20010 | "minimum" : 1, | |
20011 | "optional" : 1, | |
20012 | "type" : "integer" | |
20013 | }, | |
44660702 | 20014 | "bps_wr" : { |
de0983cb | 20015 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 20016 | "format_description" : "bps", |
56122987 | 20017 | "optional" : 1, |
44660702 | 20018 | "type" : "integer" |
56122987 | 20019 | }, |
de0983cb | 20020 | "bps_wr_length" : { |
5d9c884c DM |
20021 | "alias" : "bps_wr_max_length" |
20022 | }, | |
20023 | "bps_wr_max_length" : { | |
de0983cb DM |
20024 | "description" : "Maximum length of write I/O bursts in seconds.", |
20025 | "format_description" : "seconds", | |
20026 | "minimum" : 1, | |
20027 | "optional" : 1, | |
20028 | "type" : "integer" | |
20029 | }, | |
44660702 DM |
20030 | "cache" : { |
20031 | "description" : "The drive's cache mode", | |
56122987 | 20032 | "enum" : [ |
7aacca6f | 20033 | "none", |
44660702 DM |
20034 | "writethrough", |
20035 | "writeback", | |
20036 | "unsafe", | |
20037 | "directsync" | |
56122987 | 20038 | ], |
56122987 | 20039 | "optional" : 1, |
44660702 | 20040 | "type" : "string" |
56122987 | 20041 | }, |
44660702 DM |
20042 | "cyls" : { |
20043 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
20044 | "optional" : 1, |
20045 | "type" : "integer" | |
7aacca6f | 20046 | }, |
44660702 DM |
20047 | "detect_zeroes" : { |
20048 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 20049 | "optional" : 1, |
44660702 | 20050 | "type" : "boolean" |
56122987 | 20051 | }, |
44660702 DM |
20052 | "discard" : { |
20053 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
20054 | "enum" : [ | |
20055 | "ignore", | |
20056 | "on" | |
20057 | ], | |
56122987 | 20058 | "optional" : 1, |
44660702 | 20059 | "type" : "string" |
56122987 | 20060 | }, |
7aacca6f | 20061 | "file" : { |
44660702 | 20062 | "default_key" : 1, |
7aacca6f | 20063 | "description" : "The drive's backing volume.", |
7aacca6f DM |
20064 | "format" : "pve-volume-id-or-qm-path", |
20065 | "format_description" : "volume", | |
7aacca6f | 20066 | "type" : "string" |
56122987 | 20067 | }, |
44660702 DM |
20068 | "format" : { |
20069 | "description" : "The drive's backing file's data format.", | |
56122987 | 20070 | "enum" : [ |
44660702 DM |
20071 | "raw", |
20072 | "cow", | |
20073 | "qcow", | |
20074 | "qed", | |
20075 | "qcow2", | |
20076 | "vmdk", | |
20077 | "cloop" | |
7aacca6f | 20078 | ], |
7aacca6f DM |
20079 | "optional" : 1, |
20080 | "type" : "string" | |
56122987 | 20081 | }, |
44660702 DM |
20082 | "heads" : { |
20083 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 20084 | "optional" : 1, |
44660702 | 20085 | "type" : "integer" |
56122987 | 20086 | }, |
44660702 | 20087 | "iops" : { |
de0983cb | 20088 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 20089 | "format_description" : "iops", |
56122987 | 20090 | "optional" : 1, |
44660702 | 20091 | "type" : "integer" |
56122987 | 20092 | }, |
44660702 | 20093 | "iops_max" : { |
de0983cb | 20094 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 20095 | "format_description" : "iops", |
56122987 | 20096 | "optional" : 1, |
44660702 | 20097 | "type" : "integer" |
56122987 | 20098 | }, |
de0983cb DM |
20099 | "iops_max_length" : { |
20100 | "description" : "Maximum length of I/O bursts in seconds.", | |
20101 | "format_description" : "seconds", | |
20102 | "minimum" : 1, | |
20103 | "optional" : 1, | |
20104 | "type" : "integer" | |
20105 | }, | |
7aacca6f | 20106 | "iops_rd" : { |
de0983cb | 20107 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
20108 | "format_description" : "iops", |
20109 | "optional" : 1, | |
20110 | "type" : "integer" | |
7aacca6f | 20111 | }, |
de0983cb | 20112 | "iops_rd_length" : { |
5d9c884c | 20113 | "alias" : "iops_rd_max_length" |
de0983cb | 20114 | }, |
44660702 | 20115 | "iops_rd_max" : { |
de0983cb | 20116 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 20117 | "format_description" : "iops", |
56122987 | 20118 | "optional" : 1, |
44660702 | 20119 | "type" : "integer" |
56122987 | 20120 | }, |
5d9c884c DM |
20121 | "iops_rd_max_length" : { |
20122 | "description" : "Maximum length of read I/O bursts in seconds.", | |
20123 | "format_description" : "seconds", | |
20124 | "minimum" : 1, | |
20125 | "optional" : 1, | |
20126 | "type" : "integer" | |
20127 | }, | |
44660702 | 20128 | "iops_wr" : { |
de0983cb | 20129 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 20130 | "format_description" : "iops", |
56122987 | 20131 | "optional" : 1, |
44660702 | 20132 | "type" : "integer" |
7aacca6f | 20133 | }, |
de0983cb | 20134 | "iops_wr_length" : { |
5d9c884c | 20135 | "alias" : "iops_wr_max_length" |
de0983cb | 20136 | }, |
44660702 | 20137 | "iops_wr_max" : { |
de0983cb | 20138 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 20139 | "format_description" : "iops", |
7aacca6f | 20140 | "optional" : 1, |
44660702 | 20141 | "type" : "integer" |
56122987 | 20142 | }, |
5d9c884c DM |
20143 | "iops_wr_max_length" : { |
20144 | "description" : "Maximum length of write I/O bursts in seconds.", | |
20145 | "format_description" : "seconds", | |
20146 | "minimum" : 1, | |
20147 | "optional" : 1, | |
20148 | "type" : "integer" | |
20149 | }, | |
44660702 | 20150 | "mbps" : { |
de0983cb | 20151 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 20152 | "format_description" : "mbps", |
7aacca6f | 20153 | "optional" : 1, |
44660702 | 20154 | "type" : "number" |
56122987 | 20155 | }, |
44660702 | 20156 | "mbps_max" : { |
de0983cb | 20157 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
7aacca6f | 20158 | "format_description" : "mbps", |
56122987 | 20159 | "optional" : 1, |
44660702 | 20160 | "type" : "number" |
56122987 | 20161 | }, |
44660702 | 20162 | "mbps_rd" : { |
de0983cb | 20163 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 20164 | "format_description" : "mbps", |
7aacca6f | 20165 | "optional" : 1, |
44660702 | 20166 | "type" : "number" |
7aacca6f | 20167 | }, |
44660702 | 20168 | "mbps_rd_max" : { |
de0983cb | 20169 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 20170 | "format_description" : "mbps", |
56122987 | 20171 | "optional" : 1, |
44660702 | 20172 | "type" : "number" |
56122987 | 20173 | }, |
44660702 | 20174 | "mbps_wr" : { |
de0983cb | 20175 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 20176 | "format_description" : "mbps", |
7aacca6f | 20177 | "optional" : 1, |
44660702 | 20178 | "type" : "number" |
56122987 | 20179 | }, |
44660702 | 20180 | "mbps_wr_max" : { |
de0983cb | 20181 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 20182 | "format_description" : "mbps", |
56122987 | 20183 | "optional" : 1, |
44660702 | 20184 | "type" : "number" |
7aacca6f DM |
20185 | }, |
20186 | "media" : { | |
44660702 DM |
20187 | "default" : "disk", |
20188 | "description" : "The drive's media type.", | |
56122987 | 20189 | "enum" : [ |
7aacca6f DM |
20190 | "cdrom", |
20191 | "disk" | |
56122987 | 20192 | ], |
56122987 | 20193 | "optional" : 1, |
44660702 | 20194 | "type" : "string" |
56122987 | 20195 | }, |
44660702 DM |
20196 | "model" : { |
20197 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", | |
20198 | "format" : "urlencoded", | |
20199 | "format_description" : "model", | |
20200 | "maxLength" : 120, | |
56122987 | 20201 | "optional" : 1, |
44660702 | 20202 | "type" : "string" |
56122987 | 20203 | }, |
5d9c884c DM |
20204 | "replicate" : { |
20205 | "default" : 1, | |
20206 | "description" : "Whether the drive should considered for replication jobs.", | |
20207 | "optional" : 1, | |
20208 | "type" : "boolean" | |
20209 | }, | |
7aacca6f | 20210 | "rerror" : { |
7aacca6f DM |
20211 | "description" : "Read error action.", |
20212 | "enum" : [ | |
20213 | "ignore", | |
20214 | "report", | |
20215 | "stop" | |
44660702 | 20216 | ], |
44660702 DM |
20217 | "optional" : 1, |
20218 | "type" : "string" | |
56122987 | 20219 | }, |
44660702 DM |
20220 | "secs" : { |
20221 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 20222 | "optional" : 1, |
44660702 DM |
20223 | "type" : "integer" |
20224 | }, | |
20225 | "serial" : { | |
20226 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
20227 | "format" : "urlencoded", | |
20228 | "format_description" : "serial", | |
20229 | "maxLength" : 60, | |
20230 | "optional" : 1, | |
20231 | "type" : "string" | |
20232 | }, | |
27a7acb2 DM |
20233 | "shared" : { |
20234 | "default" : 0, | |
20235 | "description" : "Mark this locally-managed volume as available on all nodes", | |
20236 | "optional" : 1, | |
20237 | "type" : "boolean", | |
20238 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
20239 | }, | |
44660702 DM |
20240 | "size" : { |
20241 | "description" : "Disk size. This is purely informational and has no effect.", | |
20242 | "format" : "disk-size", | |
f004f5b9 | 20243 | "format_description" : "DiskSize", |
44660702 DM |
20244 | "optional" : 1, |
20245 | "type" : "string" | |
7aacca6f DM |
20246 | }, |
20247 | "snapshot" : { | |
27a7acb2 | 20248 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
7aacca6f | 20249 | "optional" : 1, |
44660702 | 20250 | "type" : "boolean" |
7aacca6f | 20251 | }, |
25203dc1 NC |
20252 | "ssd" : { |
20253 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
20254 | "optional" : 1, | |
20255 | "type" : "boolean" | |
20256 | }, | |
44660702 DM |
20257 | "trans" : { |
20258 | "description" : "Force disk geometry bios translation mode.", | |
20259 | "enum" : [ | |
20260 | "none", | |
20261 | "lba", | |
20262 | "auto" | |
20263 | ], | |
7aacca6f | 20264 | "optional" : 1, |
44660702 DM |
20265 | "type" : "string" |
20266 | }, | |
20267 | "volume" : { | |
20268 | "alias" : "file" | |
20269 | }, | |
20270 | "werror" : { | |
20271 | "description" : "Write error action.", | |
20272 | "enum" : [ | |
20273 | "enospc", | |
20274 | "ignore", | |
20275 | "report", | |
20276 | "stop" | |
20277 | ], | |
44660702 DM |
20278 | "optional" : 1, |
20279 | "type" : "string" | |
95895385 TL |
20280 | }, |
20281 | "wwn" : { | |
20282 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
20283 | "format_description" : "wwn", | |
20284 | "optional" : 1, | |
20285 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
20286 | "type" : "string" | |
56122987 DM |
20287 | } |
20288 | }, | |
56122987 | 20289 | "optional" : 1, |
4bd7df8b | 20290 | "type" : "string", |
95895385 | 20291 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
27a7acb2 DM |
20292 | }, |
20293 | "ipconfig[n]" : { | |
20294 | "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n", | |
20295 | "format" : "pve-qm-ipconfig", | |
20296 | "optional" : 1, | |
20297 | "type" : "string", | |
20298 | "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]" | |
56122987 | 20299 | }, |
95895385 TL |
20300 | "ivshmem" : { |
20301 | "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.", | |
20302 | "format" : { | |
20303 | "name" : { | |
20304 | "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.", | |
20305 | "format_description" : "string", | |
20306 | "optional" : 1, | |
20307 | "pattern" : "[a-zA-Z0-9\\-]+", | |
20308 | "type" : "string" | |
20309 | }, | |
20310 | "size" : { | |
20311 | "description" : "The size of the file in MB.", | |
20312 | "minimum" : 1, | |
20313 | "type" : "integer" | |
20314 | } | |
20315 | }, | |
20316 | "optional" : 1, | |
20317 | "type" : "string", | |
20318 | "typetext" : "size=<integer> [,name=<string>]" | |
20319 | }, | |
56122987 | 20320 | "keyboard" : { |
35a75dd3 | 20321 | "default" : null, |
5da3d723 | 20322 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.", |
56122987 | 20323 | "enum" : [ |
44660702 DM |
20324 | "de", |
20325 | "de-ch", | |
7aacca6f | 20326 | "da", |
56122987 | 20327 | "en-gb", |
44660702 DM |
20328 | "en-us", |
20329 | "es", | |
20330 | "fi", | |
20331 | "fr", | |
20332 | "fr-be", | |
20333 | "fr-ca", | |
20334 | "fr-ch", | |
20335 | "hu", | |
7aacca6f | 20336 | "is", |
44660702 DM |
20337 | "it", |
20338 | "ja", | |
20339 | "lt", | |
56122987 | 20340 | "mk", |
7aacca6f | 20341 | "nl", |
56122987 | 20342 | "no", |
44660702 | 20343 | "pl", |
7aacca6f | 20344 | "pt", |
44660702 DM |
20345 | "pt-br", |
20346 | "sv", | |
20347 | "sl", | |
20348 | "tr" | |
56122987 | 20349 | ], |
44660702 DM |
20350 | "optional" : 1, |
20351 | "type" : "string" | |
56122987 | 20352 | }, |
44660702 DM |
20353 | "kvm" : { |
20354 | "default" : 1, | |
20355 | "description" : "Enable/disable KVM hardware virtualization.", | |
7aacca6f | 20356 | "optional" : 1, |
013dc89f DM |
20357 | "type" : "boolean", |
20358 | "typetext" : "<boolean>" | |
7aacca6f | 20359 | }, |
44660702 DM |
20360 | "localtime" : { |
20361 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
56122987 | 20362 | "optional" : 1, |
013dc89f DM |
20363 | "type" : "boolean", |
20364 | "typetext" : "<boolean>" | |
44660702 DM |
20365 | }, |
20366 | "lock" : { | |
20367 | "description" : "Lock/unlock the VM.", | |
7aacca6f | 20368 | "enum" : [ |
7aacca6f | 20369 | "backup", |
5f26e15b TL |
20370 | "clone", |
20371 | "create", | |
20372 | "migrate", | |
20373 | "rollback", | |
7aacca6f | 20374 | "snapshot", |
95895385 TL |
20375 | "snapshot-delete", |
20376 | "suspending", | |
20377 | "suspended" | |
7aacca6f | 20378 | ], |
44660702 DM |
20379 | "optional" : 1, |
20380 | "type" : "string" | |
56122987 | 20381 | }, |
44660702 | 20382 | "machine" : { |
4d47f125 | 20383 | "description" : "Specifies the Qemu machine type.", |
44660702 DM |
20384 | "maxLength" : 40, |
20385 | "optional" : 1, | |
5c1699e5 | 20386 | "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", |
44660702 DM |
20387 | "type" : "string" |
20388 | }, | |
20389 | "memory" : { | |
20390 | "default" : 512, | |
20391 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
20392 | "minimum" : 16, | |
20393 | "optional" : 1, | |
4bd7df8b | 20394 | "type" : "integer", |
013dc89f | 20395 | "typetext" : "<integer> (16 - N)" |
44660702 DM |
20396 | }, |
20397 | "migrate_downtime" : { | |
20398 | "default" : 0.1, | |
20399 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
20400 | "minimum" : 0, | |
20401 | "optional" : 1, | |
4bd7df8b | 20402 | "type" : "number", |
013dc89f | 20403 | "typetext" : "<number> (0 - N)" |
44660702 DM |
20404 | }, |
20405 | "migrate_speed" : { | |
56122987 | 20406 | "default" : 0, |
44660702 DM |
20407 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", |
20408 | "minimum" : 0, | |
56122987 | 20409 | "optional" : 1, |
4bd7df8b | 20410 | "type" : "integer", |
013dc89f | 20411 | "typetext" : "<integer> (0 - N)" |
56122987 | 20412 | }, |
27a7acb2 DM |
20413 | "name" : { |
20414 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
20415 | "format" : "dns-name", | |
20416 | "optional" : 1, | |
20417 | "type" : "string", | |
20418 | "typetext" : "<string>" | |
20419 | }, | |
20420 | "nameserver" : { | |
20421 | "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
20422 | "format" : "address-list", | |
44660702 | 20423 | "optional" : 1, |
013dc89f DM |
20424 | "type" : "string", |
20425 | "typetext" : "<string>" | |
44660702 DM |
20426 | }, |
20427 | "net[n]" : { | |
c2993fe5 | 20428 | "description" : "Specify network devices.", |
f004f5b9 DM |
20429 | "format" : { |
20430 | "bridge" : { | |
c2993fe5 | 20431 | "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 |
20432 | "format_description" : "bridge", |
20433 | "optional" : 1, | |
c5aa7e14 | 20434 | "pattern" : "[-_.\\w\\d]+", |
f004f5b9 DM |
20435 | "type" : "string" |
20436 | }, | |
20437 | "e1000" : { | |
20438 | "alias" : "macaddr", | |
20439 | "keyAlias" : "model" | |
20440 | }, | |
20441 | "e1000-82540em" : { | |
20442 | "alias" : "macaddr", | |
20443 | "keyAlias" : "model" | |
20444 | }, | |
20445 | "e1000-82544gc" : { | |
20446 | "alias" : "macaddr", | |
20447 | "keyAlias" : "model" | |
20448 | }, | |
20449 | "e1000-82545em" : { | |
20450 | "alias" : "macaddr", | |
20451 | "keyAlias" : "model" | |
20452 | }, | |
20453 | "firewall" : { | |
20454 | "description" : "Whether this interface should be protected by the firewall.", | |
20455 | "optional" : 1, | |
20456 | "type" : "boolean" | |
20457 | }, | |
20458 | "i82551" : { | |
20459 | "alias" : "macaddr", | |
20460 | "keyAlias" : "model" | |
20461 | }, | |
20462 | "i82557b" : { | |
20463 | "alias" : "macaddr", | |
20464 | "keyAlias" : "model" | |
20465 | }, | |
20466 | "i82559er" : { | |
20467 | "alias" : "macaddr", | |
20468 | "keyAlias" : "model" | |
20469 | }, | |
20470 | "link_down" : { | |
c2993fe5 | 20471 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
20472 | "optional" : 1, |
20473 | "type" : "boolean" | |
20474 | }, | |
20475 | "macaddr" : { | |
c2993fe5 | 20476 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
95895385 | 20477 | "format" : "mac-addr", |
f004f5b9 | 20478 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 | 20479 | "optional" : 1, |
95895385 TL |
20480 | "type" : "string", |
20481 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
f004f5b9 DM |
20482 | }, |
20483 | "model" : { | |
20484 | "default_key" : 1, | |
c2993fe5 | 20485 | "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 |
20486 | "enum" : [ |
20487 | "rtl8139", | |
20488 | "ne2k_pci", | |
20489 | "e1000", | |
20490 | "pcnet", | |
20491 | "virtio", | |
20492 | "ne2k_isa", | |
20493 | "i82551", | |
20494 | "i82557b", | |
20495 | "i82559er", | |
20496 | "vmxnet3", | |
20497 | "e1000-82540em", | |
20498 | "e1000-82544gc", | |
20499 | "e1000-82545em" | |
20500 | ], | |
f004f5b9 DM |
20501 | "type" : "string" |
20502 | }, | |
20503 | "ne2k_isa" : { | |
20504 | "alias" : "macaddr", | |
20505 | "keyAlias" : "model" | |
20506 | }, | |
20507 | "ne2k_pci" : { | |
20508 | "alias" : "macaddr", | |
20509 | "keyAlias" : "model" | |
20510 | }, | |
20511 | "pcnet" : { | |
20512 | "alias" : "macaddr", | |
20513 | "keyAlias" : "model" | |
20514 | }, | |
20515 | "queues" : { | |
20516 | "description" : "Number of packet queues to be used on the device.", | |
20517 | "maximum" : 16, | |
20518 | "minimum" : 0, | |
20519 | "optional" : 1, | |
20520 | "type" : "integer" | |
20521 | }, | |
20522 | "rate" : { | |
c2993fe5 | 20523 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
20524 | "minimum" : 0, |
20525 | "optional" : 1, | |
20526 | "type" : "number" | |
20527 | }, | |
20528 | "rtl8139" : { | |
20529 | "alias" : "macaddr", | |
20530 | "keyAlias" : "model" | |
20531 | }, | |
20532 | "tag" : { | |
20533 | "description" : "VLAN tag to apply to packets on this interface.", | |
20534 | "maximum" : 4094, | |
c2993fe5 | 20535 | "minimum" : 1, |
f004f5b9 DM |
20536 | "optional" : 1, |
20537 | "type" : "integer" | |
20538 | }, | |
20539 | "trunks" : { | |
20540 | "description" : "VLAN trunks to pass through this interface.", | |
20541 | "format_description" : "vlanid[;vlanid...]", | |
20542 | "optional" : 1, | |
20543 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
20544 | "type" : "string" | |
20545 | }, | |
20546 | "virtio" : { | |
20547 | "alias" : "macaddr", | |
20548 | "keyAlias" : "model" | |
20549 | }, | |
20550 | "vmxnet3" : { | |
20551 | "alias" : "macaddr", | |
20552 | "keyAlias" : "model" | |
20553 | } | |
20554 | }, | |
44660702 | 20555 | "optional" : 1, |
4bd7df8b | 20556 | "type" : "string", |
013dc89f | 20557 | "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 |
20558 | }, |
20559 | "node" : { | |
20560 | "description" : "The cluster node name.", | |
20561 | "format" : "pve-node", | |
013dc89f DM |
20562 | "type" : "string", |
20563 | "typetext" : "<string>" | |
44660702 DM |
20564 | }, |
20565 | "numa" : { | |
7aacca6f | 20566 | "default" : 0, |
44660702 DM |
20567 | "description" : "Enable/disable NUMA.", |
20568 | "optional" : 1, | |
013dc89f DM |
20569 | "type" : "boolean", |
20570 | "typetext" : "<boolean>" | |
56122987 | 20571 | }, |
7aacca6f | 20572 | "numa[n]" : { |
c2993fe5 | 20573 | "description" : "NUMA topology.", |
7aacca6f | 20574 | "format" : { |
44660702 | 20575 | "cpus" : { |
c2993fe5 | 20576 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
20577 | "format_description" : "id[-id];...", |
20578 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
20579 | "type" : "string" | |
20580 | }, | |
7aacca6f | 20581 | "hostnodes" : { |
c2993fe5 | 20582 | "description" : "Host NUMA nodes to use.", |
44660702 | 20583 | "format_description" : "id[-id];...", |
7aacca6f | 20584 | "optional" : 1, |
44660702 DM |
20585 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", |
20586 | "type" : "string" | |
7aacca6f | 20587 | }, |
44660702 | 20588 | "memory" : { |
c2993fe5 | 20589 | "description" : "Amount of memory this NUMA node provides.", |
44660702 DM |
20590 | "optional" : 1, |
20591 | "type" : "number" | |
7aacca6f DM |
20592 | }, |
20593 | "policy" : { | |
c2993fe5 | 20594 | "description" : "NUMA allocation policy.", |
7aacca6f DM |
20595 | "enum" : [ |
20596 | "preferred", | |
20597 | "bind", | |
20598 | "interleave" | |
20599 | ], | |
7aacca6f | 20600 | "optional" : 1, |
44660702 | 20601 | "type" : "string" |
7aacca6f DM |
20602 | } |
20603 | }, | |
56122987 | 20604 | "optional" : 1, |
4bd7df8b DM |
20605 | "type" : "string", |
20606 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" | |
56122987 | 20607 | }, |
44660702 DM |
20608 | "onboot" : { |
20609 | "default" : 0, | |
20610 | "description" : "Specifies whether a VM will be started during system bootup.", | |
56122987 | 20611 | "optional" : 1, |
013dc89f DM |
20612 | "type" : "boolean", |
20613 | "typetext" : "<boolean>" | |
56122987 DM |
20614 | }, |
20615 | "ostype" : { | |
c2993fe5 | 20616 | "description" : "Specify guest operating system.", |
56122987 DM |
20617 | "enum" : [ |
20618 | "other", | |
20619 | "wxp", | |
20620 | "w2k", | |
20621 | "w2k3", | |
20622 | "w2k8", | |
20623 | "wvista", | |
20624 | "win7", | |
20625 | "win8", | |
32d876b5 | 20626 | "win10", |
56122987 DM |
20627 | "l24", |
20628 | "l26", | |
20629 | "solaris" | |
44660702 | 20630 | ], |
56122987 | 20631 | "optional" : 1, |
c2993fe5 | 20632 | "type" : "string", |
5c1699e5 | 20633 | "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/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" |
56122987 | 20634 | }, |
44660702 | 20635 | "parallel[n]" : { |
c2993fe5 | 20636 | "description" : "Map host parallel devices (n is 0 to 2).", |
56122987 | 20637 | "optional" : 1, |
44660702 | 20638 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
20639 | "type" : "string", |
20640 | "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 | 20641 | }, |
44660702 DM |
20642 | "pool" : { |
20643 | "description" : "Add the VM to the specified pool.", | |
20644 | "format" : "pve-poolid", | |
56122987 | 20645 | "optional" : 1, |
013dc89f DM |
20646 | "type" : "string", |
20647 | "typetext" : "<string>" | |
56122987 | 20648 | }, |
44660702 DM |
20649 | "protection" : { |
20650 | "default" : 0, | |
c2993fe5 | 20651 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
56122987 | 20652 | "optional" : 1, |
013dc89f DM |
20653 | "type" : "boolean", |
20654 | "typetext" : "<boolean>" | |
56122987 | 20655 | }, |
44660702 | 20656 | "reboot" : { |
7aacca6f | 20657 | "default" : 1, |
44660702 DM |
20658 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", |
20659 | "optional" : 1, | |
013dc89f DM |
20660 | "type" : "boolean", |
20661 | "typetext" : "<boolean>" | |
56122987 | 20662 | }, |
c5aa7e14 TL |
20663 | "rng0" : { |
20664 | "description" : "Configure a VirtIO-based Random Number Generator.", | |
20665 | "format" : { | |
20666 | "max_bytes" : { | |
20667 | "default" : 1024, | |
20668 | "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).", | |
20669 | "optional" : 1, | |
20670 | "type" : "integer" | |
20671 | }, | |
20672 | "period" : { | |
20673 | "default" : 1000, | |
20674 | "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.", | |
20675 | "optional" : 1, | |
20676 | "type" : "integer" | |
20677 | }, | |
20678 | "source" : { | |
20679 | "default_key" : 1, | |
20680 | "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.", | |
20681 | "enum" : [ | |
20682 | "/dev/urandom", | |
20683 | "/dev/random", | |
20684 | "/dev/hwrng" | |
20685 | ], | |
20686 | "type" : "string" | |
20687 | } | |
20688 | }, | |
20689 | "optional" : 1, | |
20690 | "type" : "string", | |
20691 | "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]" | |
20692 | }, | |
56122987 | 20693 | "sata[n]" : { |
44660702 | 20694 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", |
56122987 | 20695 | "format" : { |
7aacca6f | 20696 | "aio" : { |
44660702 | 20697 | "description" : "AIO type to use.", |
56122987 | 20698 | "enum" : [ |
7aacca6f DM |
20699 | "native", |
20700 | "threads" | |
56122987 | 20701 | ], |
7aacca6f | 20702 | "optional" : 1, |
44660702 | 20703 | "type" : "string" |
7aacca6f DM |
20704 | }, |
20705 | "backup" : { | |
7aacca6f | 20706 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 20707 | "optional" : 1, |
44660702 | 20708 | "type" : "boolean" |
56122987 | 20709 | }, |
44660702 | 20710 | "bps" : { |
de0983cb | 20711 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 20712 | "format_description" : "bps", |
7aacca6f | 20713 | "optional" : 1, |
44660702 | 20714 | "type" : "integer" |
56122987 | 20715 | }, |
de0983cb DM |
20716 | "bps_max_length" : { |
20717 | "description" : "Maximum length of I/O bursts in seconds.", | |
20718 | "format_description" : "seconds", | |
20719 | "minimum" : 1, | |
20720 | "optional" : 1, | |
20721 | "type" : "integer" | |
20722 | }, | |
44660702 | 20723 | "bps_rd" : { |
de0983cb | 20724 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 20725 | "format_description" : "bps", |
56122987 | 20726 | "optional" : 1, |
44660702 | 20727 | "type" : "integer" |
7aacca6f | 20728 | }, |
de0983cb | 20729 | "bps_rd_length" : { |
5d9c884c DM |
20730 | "alias" : "bps_rd_max_length" |
20731 | }, | |
20732 | "bps_rd_max_length" : { | |
de0983cb DM |
20733 | "description" : "Maximum length of read I/O bursts in seconds.", |
20734 | "format_description" : "seconds", | |
20735 | "minimum" : 1, | |
20736 | "optional" : 1, | |
20737 | "type" : "integer" | |
20738 | }, | |
44660702 | 20739 | "bps_wr" : { |
de0983cb | 20740 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 20741 | "format_description" : "bps", |
56122987 | 20742 | "optional" : 1, |
44660702 | 20743 | "type" : "integer" |
56122987 | 20744 | }, |
de0983cb | 20745 | "bps_wr_length" : { |
5d9c884c DM |
20746 | "alias" : "bps_wr_max_length" |
20747 | }, | |
20748 | "bps_wr_max_length" : { | |
de0983cb DM |
20749 | "description" : "Maximum length of write I/O bursts in seconds.", |
20750 | "format_description" : "seconds", | |
20751 | "minimum" : 1, | |
20752 | "optional" : 1, | |
20753 | "type" : "integer" | |
20754 | }, | |
7aacca6f | 20755 | "cache" : { |
7aacca6f DM |
20756 | "description" : "The drive's cache mode", |
20757 | "enum" : [ | |
20758 | "none", | |
20759 | "writethrough", | |
20760 | "writeback", | |
20761 | "unsafe", | |
20762 | "directsync" | |
20763 | ], | |
44660702 DM |
20764 | "optional" : 1, |
20765 | "type" : "string" | |
56122987 | 20766 | }, |
44660702 DM |
20767 | "cyls" : { |
20768 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
56122987 | 20769 | "optional" : 1, |
7aacca6f | 20770 | "type" : "integer" |
56122987 | 20771 | }, |
7aacca6f DM |
20772 | "detect_zeroes" : { |
20773 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 20774 | "optional" : 1, |
7aacca6f | 20775 | "type" : "boolean" |
56122987 | 20776 | }, |
44660702 DM |
20777 | "discard" : { |
20778 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
20779 | "enum" : [ | |
20780 | "ignore", | |
20781 | "on" | |
20782 | ], | |
56122987 | 20783 | "optional" : 1, |
44660702 | 20784 | "type" : "string" |
56122987 | 20785 | }, |
44660702 DM |
20786 | "file" : { |
20787 | "default_key" : 1, | |
20788 | "description" : "The drive's backing volume.", | |
20789 | "format" : "pve-volume-id-or-qm-path", | |
20790 | "format_description" : "volume", | |
20791 | "type" : "string" | |
56122987 DM |
20792 | }, |
20793 | "format" : { | |
44660702 | 20794 | "description" : "The drive's backing file's data format.", |
56122987 DM |
20795 | "enum" : [ |
20796 | "raw", | |
20797 | "cow", | |
20798 | "qcow", | |
20799 | "qed", | |
20800 | "qcow2", | |
20801 | "vmdk", | |
20802 | "cloop" | |
20803 | ], | |
56122987 | 20804 | "optional" : 1, |
44660702 | 20805 | "type" : "string" |
56122987 | 20806 | }, |
7aacca6f | 20807 | "heads" : { |
7aacca6f | 20808 | "description" : "Force the drive's physical geometry to have a specific head count.", |
44660702 DM |
20809 | "optional" : 1, |
20810 | "type" : "integer" | |
56122987 | 20811 | }, |
44660702 | 20812 | "iops" : { |
de0983cb | 20813 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 DM |
20814 | "format_description" : "iops", |
20815 | "optional" : 1, | |
20816 | "type" : "integer" | |
56122987 | 20817 | }, |
44660702 | 20818 | "iops_max" : { |
de0983cb | 20819 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 20820 | "format_description" : "iops", |
56122987 | 20821 | "optional" : 1, |
44660702 | 20822 | "type" : "integer" |
56122987 | 20823 | }, |
de0983cb DM |
20824 | "iops_max_length" : { |
20825 | "description" : "Maximum length of I/O bursts in seconds.", | |
20826 | "format_description" : "seconds", | |
20827 | "minimum" : 1, | |
20828 | "optional" : 1, | |
20829 | "type" : "integer" | |
20830 | }, | |
44660702 | 20831 | "iops_rd" : { |
de0983cb | 20832 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 20833 | "format_description" : "iops", |
56122987 | 20834 | "optional" : 1, |
44660702 | 20835 | "type" : "integer" |
56122987 | 20836 | }, |
de0983cb | 20837 | "iops_rd_length" : { |
5d9c884c | 20838 | "alias" : "iops_rd_max_length" |
de0983cb | 20839 | }, |
44660702 | 20840 | "iops_rd_max" : { |
de0983cb | 20841 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
7aacca6f | 20842 | "format_description" : "iops", |
56122987 | 20843 | "optional" : 1, |
44660702 | 20844 | "type" : "integer" |
56122987 | 20845 | }, |
5d9c884c DM |
20846 | "iops_rd_max_length" : { |
20847 | "description" : "Maximum length of read I/O bursts in seconds.", | |
20848 | "format_description" : "seconds", | |
20849 | "minimum" : 1, | |
20850 | "optional" : 1, | |
20851 | "type" : "integer" | |
20852 | }, | |
44660702 | 20853 | "iops_wr" : { |
de0983cb | 20854 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 20855 | "format_description" : "iops", |
7aacca6f | 20856 | "optional" : 1, |
44660702 | 20857 | "type" : "integer" |
7aacca6f | 20858 | }, |
de0983cb | 20859 | "iops_wr_length" : { |
5d9c884c | 20860 | "alias" : "iops_wr_max_length" |
de0983cb | 20861 | }, |
44660702 | 20862 | "iops_wr_max" : { |
de0983cb | 20863 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 20864 | "format_description" : "iops", |
56122987 | 20865 | "optional" : 1, |
7aacca6f | 20866 | "type" : "integer" |
56122987 | 20867 | }, |
5d9c884c DM |
20868 | "iops_wr_max_length" : { |
20869 | "description" : "Maximum length of write I/O bursts in seconds.", | |
20870 | "format_description" : "seconds", | |
20871 | "minimum" : 1, | |
20872 | "optional" : 1, | |
20873 | "type" : "integer" | |
20874 | }, | |
44660702 | 20875 | "mbps" : { |
de0983cb | 20876 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 20877 | "format_description" : "mbps", |
56122987 | 20878 | "optional" : 1, |
44660702 | 20879 | "type" : "number" |
56122987 | 20880 | }, |
44660702 | 20881 | "mbps_max" : { |
de0983cb | 20882 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 20883 | "format_description" : "mbps", |
7aacca6f | 20884 | "optional" : 1, |
44660702 | 20885 | "type" : "number" |
7aacca6f | 20886 | }, |
44660702 | 20887 | "mbps_rd" : { |
de0983cb | 20888 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 20889 | "format_description" : "mbps", |
7aacca6f | 20890 | "optional" : 1, |
44660702 | 20891 | "type" : "number" |
7aacca6f | 20892 | }, |
44660702 | 20893 | "mbps_rd_max" : { |
de0983cb | 20894 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 20895 | "format_description" : "mbps", |
7aacca6f | 20896 | "optional" : 1, |
44660702 | 20897 | "type" : "number" |
7aacca6f | 20898 | }, |
44660702 | 20899 | "mbps_wr" : { |
de0983cb | 20900 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 20901 | "format_description" : "mbps", |
7aacca6f | 20902 | "optional" : 1, |
44660702 | 20903 | "type" : "number" |
7aacca6f DM |
20904 | }, |
20905 | "mbps_wr_max" : { | |
de0983cb | 20906 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 20907 | "format_description" : "mbps", |
7aacca6f | 20908 | "optional" : 1, |
44660702 | 20909 | "type" : "number" |
7aacca6f | 20910 | }, |
44660702 DM |
20911 | "media" : { |
20912 | "default" : "disk", | |
20913 | "description" : "The drive's media type.", | |
56122987 | 20914 | "enum" : [ |
44660702 DM |
20915 | "cdrom", |
20916 | "disk" | |
56122987 | 20917 | ], |
56122987 | 20918 | "optional" : 1, |
44660702 | 20919 | "type" : "string" |
56122987 | 20920 | }, |
5d9c884c DM |
20921 | "replicate" : { |
20922 | "default" : 1, | |
20923 | "description" : "Whether the drive should considered for replication jobs.", | |
20924 | "optional" : 1, | |
20925 | "type" : "boolean" | |
20926 | }, | |
44660702 DM |
20927 | "rerror" : { |
20928 | "description" : "Read error action.", | |
7aacca6f DM |
20929 | "enum" : [ |
20930 | "ignore", | |
44660702 DM |
20931 | "report", |
20932 | "stop" | |
7aacca6f | 20933 | ], |
56122987 | 20934 | "optional" : 1, |
44660702 | 20935 | "type" : "string" |
56122987 | 20936 | }, |
44660702 DM |
20937 | "secs" : { |
20938 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 20939 | "optional" : 1, |
44660702 | 20940 | "type" : "integer" |
56122987 | 20941 | }, |
44660702 DM |
20942 | "serial" : { |
20943 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
20944 | "format" : "urlencoded", | |
20945 | "format_description" : "serial", | |
20946 | "maxLength" : 60, | |
20947 | "optional" : 1, | |
20948 | "type" : "string" | |
7aacca6f | 20949 | }, |
27a7acb2 DM |
20950 | "shared" : { |
20951 | "default" : 0, | |
20952 | "description" : "Mark this locally-managed volume as available on all nodes", | |
20953 | "optional" : 1, | |
20954 | "type" : "boolean", | |
20955 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
20956 | }, | |
7aacca6f DM |
20957 | "size" : { |
20958 | "description" : "Disk size. This is purely informational and has no effect.", | |
44660702 | 20959 | "format" : "disk-size", |
f004f5b9 | 20960 | "format_description" : "DiskSize", |
56122987 | 20961 | "optional" : 1, |
44660702 | 20962 | "type" : "string" |
56122987 | 20963 | }, |
44660702 | 20964 | "snapshot" : { |
27a7acb2 | 20965 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
56122987 | 20966 | "optional" : 1, |
44660702 | 20967 | "type" : "boolean" |
56122987 | 20968 | }, |
25203dc1 NC |
20969 | "ssd" : { |
20970 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
20971 | "optional" : 1, | |
20972 | "type" : "boolean" | |
20973 | }, | |
44660702 DM |
20974 | "trans" : { |
20975 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 20976 | "enum" : [ |
44660702 DM |
20977 | "none", |
20978 | "lba", | |
20979 | "auto" | |
7aacca6f | 20980 | ], |
44660702 DM |
20981 | "optional" : 1, |
20982 | "type" : "string" | |
20983 | }, | |
20984 | "volume" : { | |
20985 | "alias" : "file" | |
56122987 DM |
20986 | }, |
20987 | "werror" : { | |
56122987 DM |
20988 | "description" : "Write error action.", |
20989 | "enum" : [ | |
20990 | "enospc", | |
20991 | "ignore", | |
20992 | "report", | |
20993 | "stop" | |
20994 | ], | |
56122987 | 20995 | "optional" : 1, |
44660702 | 20996 | "type" : "string" |
95895385 TL |
20997 | }, |
20998 | "wwn" : { | |
20999 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
21000 | "format_description" : "wwn", | |
21001 | "optional" : 1, | |
21002 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
21003 | "type" : "string" | |
44660702 DM |
21004 | } |
21005 | }, | |
21006 | "optional" : 1, | |
4bd7df8b | 21007 | "type" : "string", |
95895385 | 21008 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
44660702 DM |
21009 | }, |
21010 | "scsi[n]" : { | |
e9cd3bd4 | 21011 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).", |
44660702 DM |
21012 | "format" : { |
21013 | "aio" : { | |
21014 | "description" : "AIO type to use.", | |
21015 | "enum" : [ | |
21016 | "native", | |
21017 | "threads" | |
21018 | ], | |
44660702 DM |
21019 | "optional" : 1, |
21020 | "type" : "string" | |
56122987 | 21021 | }, |
7aacca6f | 21022 | "backup" : { |
44660702 | 21023 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 21024 | "optional" : 1, |
44660702 | 21025 | "type" : "boolean" |
7aacca6f | 21026 | }, |
44660702 | 21027 | "bps" : { |
de0983cb | 21028 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 21029 | "format_description" : "bps", |
7aacca6f | 21030 | "optional" : 1, |
44660702 | 21031 | "type" : "integer" |
7aacca6f | 21032 | }, |
de0983cb DM |
21033 | "bps_max_length" : { |
21034 | "description" : "Maximum length of I/O bursts in seconds.", | |
21035 | "format_description" : "seconds", | |
21036 | "minimum" : 1, | |
21037 | "optional" : 1, | |
21038 | "type" : "integer" | |
21039 | }, | |
44660702 | 21040 | "bps_rd" : { |
de0983cb | 21041 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 21042 | "format_description" : "bps", |
56122987 | 21043 | "optional" : 1, |
44660702 | 21044 | "type" : "integer" |
56122987 | 21045 | }, |
de0983cb | 21046 | "bps_rd_length" : { |
5d9c884c DM |
21047 | "alias" : "bps_rd_max_length" |
21048 | }, | |
21049 | "bps_rd_max_length" : { | |
de0983cb DM |
21050 | "description" : "Maximum length of read I/O bursts in seconds.", |
21051 | "format_description" : "seconds", | |
21052 | "minimum" : 1, | |
21053 | "optional" : 1, | |
21054 | "type" : "integer" | |
21055 | }, | |
44660702 | 21056 | "bps_wr" : { |
de0983cb | 21057 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 21058 | "format_description" : "bps", |
7aacca6f | 21059 | "optional" : 1, |
44660702 | 21060 | "type" : "integer" |
56122987 | 21061 | }, |
de0983cb | 21062 | "bps_wr_length" : { |
5d9c884c DM |
21063 | "alias" : "bps_wr_max_length" |
21064 | }, | |
21065 | "bps_wr_max_length" : { | |
de0983cb DM |
21066 | "description" : "Maximum length of write I/O bursts in seconds.", |
21067 | "format_description" : "seconds", | |
21068 | "minimum" : 1, | |
21069 | "optional" : 1, | |
21070 | "type" : "integer" | |
21071 | }, | |
44660702 DM |
21072 | "cache" : { |
21073 | "description" : "The drive's cache mode", | |
7aacca6f DM |
21074 | "enum" : [ |
21075 | "none", | |
44660702 DM |
21076 | "writethrough", |
21077 | "writeback", | |
21078 | "unsafe", | |
21079 | "directsync" | |
7aacca6f | 21080 | ], |
56122987 | 21081 | "optional" : 1, |
44660702 | 21082 | "type" : "string" |
56122987 | 21083 | }, |
7aacca6f DM |
21084 | "cyls" : { |
21085 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
21086 | "optional" : 1, | |
44660702 | 21087 | "type" : "integer" |
7aacca6f | 21088 | }, |
44660702 DM |
21089 | "detect_zeroes" : { |
21090 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 21091 | "optional" : 1, |
44660702 | 21092 | "type" : "boolean" |
56122987 | 21093 | }, |
44660702 DM |
21094 | "discard" : { |
21095 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
7aacca6f | 21096 | "enum" : [ |
44660702 DM |
21097 | "ignore", |
21098 | "on" | |
7aacca6f | 21099 | ], |
7aacca6f | 21100 | "optional" : 1, |
44660702 | 21101 | "type" : "string" |
56122987 DM |
21102 | }, |
21103 | "file" : { | |
7aacca6f DM |
21104 | "default_key" : 1, |
21105 | "description" : "The drive's backing volume.", | |
44660702 DM |
21106 | "format" : "pve-volume-id-or-qm-path", |
21107 | "format_description" : "volume", | |
7aacca6f | 21108 | "type" : "string" |
56122987 | 21109 | }, |
7aacca6f | 21110 | "format" : { |
44660702 | 21111 | "description" : "The drive's backing file's data format.", |
56122987 | 21112 | "enum" : [ |
7aacca6f DM |
21113 | "raw", |
21114 | "cow", | |
21115 | "qcow", | |
21116 | "qed", | |
21117 | "qcow2", | |
21118 | "vmdk", | |
21119 | "cloop" | |
56122987 | 21120 | ], |
44660702 DM |
21121 | "optional" : 1, |
21122 | "type" : "string" | |
56122987 | 21123 | }, |
44660702 DM |
21124 | "heads" : { |
21125 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
21126 | "optional" : 1, |
21127 | "type" : "integer" | |
21128 | }, | |
21129 | "iops" : { | |
de0983cb | 21130 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 21131 | "format_description" : "iops", |
56122987 | 21132 | "optional" : 1, |
44660702 | 21133 | "type" : "integer" |
56122987 | 21134 | }, |
44660702 | 21135 | "iops_max" : { |
de0983cb | 21136 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 21137 | "format_description" : "iops", |
7aacca6f | 21138 | "optional" : 1, |
44660702 | 21139 | "type" : "integer" |
56122987 | 21140 | }, |
de0983cb DM |
21141 | "iops_max_length" : { |
21142 | "description" : "Maximum length of I/O bursts in seconds.", | |
21143 | "format_description" : "seconds", | |
21144 | "minimum" : 1, | |
21145 | "optional" : 1, | |
21146 | "type" : "integer" | |
21147 | }, | |
44660702 | 21148 | "iops_rd" : { |
de0983cb | 21149 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 21150 | "format_description" : "iops", |
56122987 | 21151 | "optional" : 1, |
44660702 | 21152 | "type" : "integer" |
56122987 | 21153 | }, |
de0983cb | 21154 | "iops_rd_length" : { |
5d9c884c | 21155 | "alias" : "iops_rd_max_length" |
de0983cb | 21156 | }, |
44660702 | 21157 | "iops_rd_max" : { |
de0983cb | 21158 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
21159 | "format_description" : "iops", |
21160 | "optional" : 1, | |
21161 | "type" : "integer" | |
56122987 | 21162 | }, |
5d9c884c DM |
21163 | "iops_rd_max_length" : { |
21164 | "description" : "Maximum length of read I/O bursts in seconds.", | |
21165 | "format_description" : "seconds", | |
21166 | "minimum" : 1, | |
21167 | "optional" : 1, | |
21168 | "type" : "integer" | |
21169 | }, | |
44660702 | 21170 | "iops_wr" : { |
de0983cb | 21171 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 21172 | "format_description" : "iops", |
56122987 | 21173 | "optional" : 1, |
44660702 | 21174 | "type" : "integer" |
56122987 | 21175 | }, |
de0983cb | 21176 | "iops_wr_length" : { |
5d9c884c | 21177 | "alias" : "iops_wr_max_length" |
de0983cb | 21178 | }, |
44660702 | 21179 | "iops_wr_max" : { |
de0983cb | 21180 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 21181 | "format_description" : "iops", |
56122987 | 21182 | "optional" : 1, |
56122987 DM |
21183 | "type" : "integer" |
21184 | }, | |
5d9c884c DM |
21185 | "iops_wr_max_length" : { |
21186 | "description" : "Maximum length of write I/O bursts in seconds.", | |
21187 | "format_description" : "seconds", | |
21188 | "minimum" : 1, | |
21189 | "optional" : 1, | |
21190 | "type" : "integer" | |
21191 | }, | |
44660702 DM |
21192 | "iothread" : { |
21193 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
21194 | "optional" : 1, |
21195 | "type" : "boolean" | |
21196 | }, | |
21197 | "mbps" : { | |
de0983cb | 21198 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
21199 | "format_description" : "mbps", |
21200 | "optional" : 1, | |
21201 | "type" : "number" | |
21202 | }, | |
7aacca6f | 21203 | "mbps_max" : { |
de0983cb | 21204 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 21205 | "format_description" : "mbps", |
56122987 | 21206 | "optional" : 1, |
44660702 | 21207 | "type" : "number" |
56122987 | 21208 | }, |
44660702 | 21209 | "mbps_rd" : { |
de0983cb | 21210 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
21211 | "format_description" : "mbps", |
21212 | "optional" : 1, | |
21213 | "type" : "number" | |
56122987 | 21214 | }, |
44660702 | 21215 | "mbps_rd_max" : { |
de0983cb | 21216 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 21217 | "format_description" : "mbps", |
56122987 | 21218 | "optional" : 1, |
44660702 | 21219 | "type" : "number" |
56122987 | 21220 | }, |
44660702 | 21221 | "mbps_wr" : { |
de0983cb | 21222 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 21223 | "format_description" : "mbps", |
56122987 | 21224 | "optional" : 1, |
44660702 | 21225 | "type" : "number" |
56122987 | 21226 | }, |
44660702 | 21227 | "mbps_wr_max" : { |
de0983cb | 21228 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 21229 | "format_description" : "mbps", |
7aacca6f | 21230 | "optional" : 1, |
44660702 | 21231 | "type" : "number" |
56122987 | 21232 | }, |
7aacca6f | 21233 | "media" : { |
44660702 | 21234 | "default" : "disk", |
7aacca6f DM |
21235 | "description" : "The drive's media type.", |
21236 | "enum" : [ | |
21237 | "cdrom", | |
21238 | "disk" | |
21239 | ], | |
56122987 | 21240 | "optional" : 1, |
44660702 | 21241 | "type" : "string" |
56122987 | 21242 | }, |
44660702 DM |
21243 | "queues" : { |
21244 | "description" : "Number of queues.", | |
44660702 DM |
21245 | "minimum" : 2, |
21246 | "optional" : 1, | |
21247 | "type" : "integer" | |
56122987 | 21248 | }, |
5d9c884c DM |
21249 | "replicate" : { |
21250 | "default" : 1, | |
21251 | "description" : "Whether the drive should considered for replication jobs.", | |
21252 | "optional" : 1, | |
21253 | "type" : "boolean" | |
21254 | }, | |
21255 | "rerror" : { | |
21256 | "description" : "Read error action.", | |
21257 | "enum" : [ | |
21258 | "ignore", | |
21259 | "report", | |
21260 | "stop" | |
21261 | ], | |
21262 | "optional" : 1, | |
21263 | "type" : "string" | |
21264 | }, | |
52e44c50 FG |
21265 | "scsiblock" : { |
21266 | "default" : 0, | |
21267 | "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host", | |
21268 | "optional" : 1, | |
21269 | "type" : "boolean" | |
21270 | }, | |
7aacca6f | 21271 | "secs" : { |
7aacca6f | 21272 | "description" : "Force the drive's physical geometry to have a specific sector count.", |
44660702 DM |
21273 | "optional" : 1, |
21274 | "type" : "integer" | |
21275 | }, | |
21276 | "serial" : { | |
21277 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
21278 | "format" : "urlencoded", | |
21279 | "format_description" : "serial", | |
21280 | "maxLength" : 60, | |
21281 | "optional" : 1, | |
21282 | "type" : "string" | |
21283 | }, | |
27a7acb2 DM |
21284 | "shared" : { |
21285 | "default" : 0, | |
21286 | "description" : "Mark this locally-managed volume as available on all nodes", | |
21287 | "optional" : 1, | |
21288 | "type" : "boolean", | |
21289 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
21290 | }, | |
44660702 DM |
21291 | "size" : { |
21292 | "description" : "Disk size. This is purely informational and has no effect.", | |
21293 | "format" : "disk-size", | |
f004f5b9 | 21294 | "format_description" : "DiskSize", |
44660702 DM |
21295 | "optional" : 1, |
21296 | "type" : "string" | |
21297 | }, | |
21298 | "snapshot" : { | |
27a7acb2 | 21299 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
44660702 DM |
21300 | "optional" : 1, |
21301 | "type" : "boolean" | |
21302 | }, | |
25203dc1 NC |
21303 | "ssd" : { |
21304 | "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.", | |
21305 | "optional" : 1, | |
21306 | "type" : "boolean" | |
21307 | }, | |
44660702 DM |
21308 | "trans" : { |
21309 | "description" : "Force disk geometry bios translation mode.", | |
21310 | "enum" : [ | |
21311 | "none", | |
21312 | "lba", | |
21313 | "auto" | |
21314 | ], | |
44660702 DM |
21315 | "optional" : 1, |
21316 | "type" : "string" | |
21317 | }, | |
21318 | "volume" : { | |
21319 | "alias" : "file" | |
21320 | }, | |
21321 | "werror" : { | |
21322 | "description" : "Write error action.", | |
21323 | "enum" : [ | |
21324 | "enospc", | |
21325 | "ignore", | |
21326 | "report", | |
21327 | "stop" | |
21328 | ], | |
44660702 DM |
21329 | "optional" : 1, |
21330 | "type" : "string" | |
95895385 TL |
21331 | }, |
21332 | "wwn" : { | |
21333 | "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.", | |
21334 | "format_description" : "wwn", | |
21335 | "optional" : 1, | |
21336 | "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})", | |
21337 | "type" : "string" | |
56122987 DM |
21338 | } |
21339 | }, | |
7aacca6f | 21340 | "optional" : 1, |
4bd7df8b | 21341 | "type" : "string", |
95895385 | 21342 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]" |
56122987 | 21343 | }, |
44660702 DM |
21344 | "scsihw" : { |
21345 | "default" : "lsi", | |
c2993fe5 | 21346 | "description" : "SCSI controller model", |
44660702 DM |
21347 | "enum" : [ |
21348 | "lsi", | |
21349 | "lsi53c810", | |
21350 | "virtio-scsi-pci", | |
21351 | "virtio-scsi-single", | |
21352 | "megasas", | |
21353 | "pvscsi" | |
21354 | ], | |
7aacca6f | 21355 | "optional" : 1, |
44660702 | 21356 | "type" : "string" |
7aacca6f | 21357 | }, |
27a7acb2 DM |
21358 | "searchdomain" : { |
21359 | "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.", | |
21360 | "optional" : 1, | |
21361 | "type" : "string", | |
21362 | "typetext" : "<string>" | |
21363 | }, | |
44660702 | 21364 | "serial[n]" : { |
c2993fe5 | 21365 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
44660702 DM |
21366 | "optional" : 1, |
21367 | "pattern" : "(/dev/.+|socket)", | |
c2993fe5 | 21368 | "type" : "string", |
57b78691 | 21369 | "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 |
21370 | }, |
21371 | "shares" : { | |
21372 | "default" : 1000, | |
5da3d723 | 21373 | "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. Auto-ballooning is done by pvestatd.", |
44660702 DM |
21374 | "maximum" : 50000, |
21375 | "minimum" : 0, | |
21376 | "optional" : 1, | |
4bd7df8b | 21377 | "type" : "integer", |
013dc89f | 21378 | "typetext" : "<integer> (0 - 50000)" |
44660702 DM |
21379 | }, |
21380 | "smbios1" : { | |
21381 | "description" : "Specify SMBIOS type 1 fields.", | |
21382 | "format" : "pve-qm-smbios1", | |
1e3f8156 | 21383 | "maxLength" : 512, |
7aacca6f | 21384 | "optional" : 1, |
4bd7df8b | 21385 | "type" : "string", |
1e3f8156 | 21386 | "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]" |
7aacca6f DM |
21387 | }, |
21388 | "smp" : { | |
44660702 | 21389 | "default" : 1, |
7aacca6f | 21390 | "description" : "The number of CPUs. Please use option -sockets instead.", |
44660702 | 21391 | "minimum" : 1, |
56122987 | 21392 | "optional" : 1, |
4bd7df8b | 21393 | "type" : "integer", |
013dc89f | 21394 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
21395 | }, |
21396 | "sockets" : { | |
7aacca6f | 21397 | "default" : 1, |
44660702 DM |
21398 | "description" : "The number of CPU sockets.", |
21399 | "minimum" : 1, | |
21400 | "optional" : 1, | |
4bd7df8b | 21401 | "type" : "integer", |
013dc89f | 21402 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 21403 | }, |
1c532546 TL |
21404 | "spice_enhancements" : { |
21405 | "description" : "Configure additional enhancements for SPICE.", | |
21406 | "format" : { | |
21407 | "foldersharing" : { | |
21408 | "default" : "0", | |
21409 | "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.", | |
21410 | "optional" : 1, | |
21411 | "type" : "boolean" | |
21412 | }, | |
21413 | "videostreaming" : { | |
21414 | "default" : "off", | |
21415 | "description" : "Enable video streaming. Uses compression for detected video streams.", | |
21416 | "enum" : [ | |
21417 | "off", | |
21418 | "all", | |
21419 | "filter" | |
21420 | ], | |
21421 | "optional" : 1, | |
21422 | "type" : "string" | |
21423 | } | |
21424 | }, | |
21425 | "optional" : 1, | |
21426 | "type" : "string", | |
21427 | "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]" | |
21428 | }, | |
27a7acb2 DM |
21429 | "sshkeys" : { |
21430 | "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).", | |
21431 | "format" : "urlencoded", | |
21432 | "optional" : 1, | |
21433 | "type" : "string", | |
21434 | "typetext" : "<string>" | |
21435 | }, | |
5da3d723 TL |
21436 | "start" : { |
21437 | "default" : 0, | |
21438 | "description" : "Start VM after it was created successfully.", | |
21439 | "optional" : 1, | |
21440 | "type" : "boolean", | |
21441 | "typetext" : "<boolean>" | |
21442 | }, | |
44660702 DM |
21443 | "startdate" : { |
21444 | "default" : "now", | |
21445 | "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'.", | |
21446 | "optional" : 1, | |
21447 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", | |
21448 | "type" : "string", | |
21449 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" | |
21450 | }, | |
21451 | "startup" : { | |
21452 | "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.", | |
21453 | "format" : "pve-startup-order", | |
21454 | "optional" : 1, | |
21455 | "type" : "string", | |
21456 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
21457 | }, | |
21458 | "storage" : { | |
21459 | "description" : "Default storage.", | |
21460 | "format" : "pve-storage-id", | |
7aacca6f | 21461 | "optional" : 1, |
013dc89f DM |
21462 | "type" : "string", |
21463 | "typetext" : "<string>" | |
56122987 | 21464 | }, |
44660702 DM |
21465 | "tablet" : { |
21466 | "default" : 1, | |
c2993fe5 | 21467 | "description" : "Enable/disable the USB tablet device.", |
56122987 | 21468 | "optional" : 1, |
c2993fe5 | 21469 | "type" : "boolean", |
013dc89f | 21470 | "typetext" : "<boolean>", |
c2993fe5 | 21471 | "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 | 21472 | }, |
5c1699e5 TL |
21473 | "tags" : { |
21474 | "description" : "Tags of the VM. This is only meta information.", | |
21475 | "format" : "pve-tag-list", | |
21476 | "optional" : 1, | |
21477 | "type" : "string", | |
21478 | "typetext" : "<string>" | |
21479 | }, | |
44660702 DM |
21480 | "tdf" : { |
21481 | "default" : 0, | |
21482 | "description" : "Enable/disable time drift fix.", | |
21483 | "optional" : 1, | |
013dc89f DM |
21484 | "type" : "boolean", |
21485 | "typetext" : "<boolean>" | |
7aacca6f DM |
21486 | }, |
21487 | "template" : { | |
7aacca6f | 21488 | "default" : 0, |
44660702 | 21489 | "description" : "Enable/disable Template.", |
7aacca6f | 21490 | "optional" : 1, |
013dc89f DM |
21491 | "type" : "boolean", |
21492 | "typetext" : "<boolean>" | |
7aacca6f | 21493 | }, |
44660702 DM |
21494 | "unique" : { |
21495 | "description" : "Assign a unique random ethernet address.", | |
7aacca6f | 21496 | "optional" : 1, |
44660702 | 21497 | "requires" : "archive", |
013dc89f DM |
21498 | "type" : "boolean", |
21499 | "typetext" : "<boolean>" | |
56122987 | 21500 | }, |
44660702 | 21501 | "unused[n]" : { |
c2993fe5 | 21502 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
c5aa7e14 TL |
21503 | "format" : { |
21504 | "file" : { | |
21505 | "default_key" : 1, | |
21506 | "description" : "The drive's backing volume.", | |
21507 | "format" : "pve-volume-id", | |
21508 | "format_description" : "volume", | |
21509 | "type" : "string" | |
21510 | }, | |
21511 | "volume" : { | |
21512 | "alias" : "file" | |
21513 | } | |
21514 | }, | |
7aacca6f | 21515 | "optional" : 1, |
013dc89f | 21516 | "type" : "string", |
c5aa7e14 | 21517 | "typetext" : "[file=]<volume>" |
44660702 DM |
21518 | }, |
21519 | "usb[n]" : { | |
c2993fe5 | 21520 | "description" : "Configure an USB device (n is 0 to 4).", |
56122987 | 21521 | "format" : { |
7aacca6f DM |
21522 | "host" : { |
21523 | "default_key" : 1, | |
c2993fe5 | 21524 | "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 | 21525 | "format" : "pve-qm-usb-device", |
44660702 DM |
21526 | "format_description" : "HOSTUSBDEVICE|spice", |
21527 | "type" : "string" | |
7aacca6f | 21528 | }, |
56122987 | 21529 | "usb3" : { |
c2993fe5 | 21530 | "default" : 0, |
1c532546 | 21531 | "description" : "Specifies whether if given host option is a USB3 device or port.", |
56122987 | 21532 | "optional" : 1, |
56122987 | 21533 | "type" : "boolean" |
7aacca6f | 21534 | } |
56122987 | 21535 | }, |
56122987 | 21536 | "optional" : 1, |
4bd7df8b DM |
21537 | "type" : "string", |
21538 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
56122987 | 21539 | }, |
44660702 DM |
21540 | "vcpus" : { |
21541 | "default" : 0, | |
21542 | "description" : "Number of hotplugged vcpus.", | |
21543 | "minimum" : 1, | |
56122987 | 21544 | "optional" : 1, |
4bd7df8b | 21545 | "type" : "integer", |
013dc89f | 21546 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 21547 | }, |
44660702 | 21548 | "vga" : { |
e2d681b3 TL |
21549 | "description" : "Configure the VGA hardware.", |
21550 | "format" : { | |
21551 | "memory" : { | |
21552 | "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.", | |
21553 | "maximum" : 512, | |
21554 | "minimum" : 4, | |
21555 | "optional" : 1, | |
21556 | "type" : "integer" | |
21557 | }, | |
21558 | "type" : { | |
21559 | "default" : "std", | |
21560 | "default_key" : 1, | |
21561 | "description" : "Select the VGA type.", | |
21562 | "enum" : [ | |
21563 | "cirrus", | |
21564 | "qxl", | |
21565 | "qxl2", | |
21566 | "qxl3", | |
21567 | "qxl4", | |
5f26e15b | 21568 | "none", |
e2d681b3 TL |
21569 | "serial0", |
21570 | "serial1", | |
21571 | "serial2", | |
21572 | "serial3", | |
21573 | "std", | |
21574 | "virtio", | |
21575 | "vmware" | |
21576 | ], | |
21577 | "optional" : 1, | |
21578 | "type" : "string" | |
21579 | } | |
21580 | }, | |
44660702 | 21581 | "optional" : 1, |
c2993fe5 | 21582 | "type" : "string", |
e2d681b3 TL |
21583 | "typetext" : "[[type=]<enum>] [,memory=<integer>]", |
21584 | "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal." | |
7aacca6f | 21585 | }, |
44660702 DM |
21586 | "virtio[n]" : { |
21587 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
21588 | "format" : { | |
21589 | "aio" : { | |
21590 | "description" : "AIO type to use.", | |
21591 | "enum" : [ | |
21592 | "native", | |
21593 | "threads" | |
21594 | ], | |
44660702 DM |
21595 | "optional" : 1, |
21596 | "type" : "string" | |
21597 | }, | |
21598 | "backup" : { | |
21599 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
21600 | "optional" : 1, |
21601 | "type" : "boolean" | |
21602 | }, | |
21603 | "bps" : { | |
de0983cb | 21604 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
21605 | "format_description" : "bps", |
21606 | "optional" : 1, | |
21607 | "type" : "integer" | |
21608 | }, | |
de0983cb DM |
21609 | "bps_max_length" : { |
21610 | "description" : "Maximum length of I/O bursts in seconds.", | |
21611 | "format_description" : "seconds", | |
21612 | "minimum" : 1, | |
21613 | "optional" : 1, | |
21614 | "type" : "integer" | |
21615 | }, | |
44660702 | 21616 | "bps_rd" : { |
de0983cb | 21617 | "description" : "Maximum read speed in bytes per second.", |
44660702 DM |
21618 | "format_description" : "bps", |
21619 | "optional" : 1, | |
21620 | "type" : "integer" | |
21621 | }, | |
de0983cb | 21622 | "bps_rd_length" : { |
5d9c884c DM |
21623 | "alias" : "bps_rd_max_length" |
21624 | }, | |
21625 | "bps_rd_max_length" : { | |
de0983cb DM |
21626 | "description" : "Maximum length of read I/O bursts in seconds.", |
21627 | "format_description" : "seconds", | |
21628 | "minimum" : 1, | |
21629 | "optional" : 1, | |
21630 | "type" : "integer" | |
21631 | }, | |
44660702 | 21632 | "bps_wr" : { |
de0983cb | 21633 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
21634 | "format_description" : "bps", |
21635 | "optional" : 1, | |
21636 | "type" : "integer" | |
21637 | }, | |
de0983cb | 21638 | "bps_wr_length" : { |
5d9c884c DM |
21639 | "alias" : "bps_wr_max_length" |
21640 | }, | |
21641 | "bps_wr_max_length" : { | |
de0983cb DM |
21642 | "description" : "Maximum length of write I/O bursts in seconds.", |
21643 | "format_description" : "seconds", | |
21644 | "minimum" : 1, | |
21645 | "optional" : 1, | |
21646 | "type" : "integer" | |
21647 | }, | |
44660702 DM |
21648 | "cache" : { |
21649 | "description" : "The drive's cache mode", | |
21650 | "enum" : [ | |
21651 | "none", | |
21652 | "writethrough", | |
21653 | "writeback", | |
21654 | "unsafe", | |
21655 | "directsync" | |
21656 | ], | |
44660702 DM |
21657 | "optional" : 1, |
21658 | "type" : "string" | |
21659 | }, | |
21660 | "cyls" : { | |
21661 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
21662 | "optional" : 1, |
21663 | "type" : "integer" | |
21664 | }, | |
21665 | "detect_zeroes" : { | |
21666 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
21667 | "optional" : 1, | |
21668 | "type" : "boolean" | |
21669 | }, | |
21670 | "discard" : { | |
21671 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
21672 | "enum" : [ | |
21673 | "ignore", | |
21674 | "on" | |
21675 | ], | |
44660702 DM |
21676 | "optional" : 1, |
21677 | "type" : "string" | |
21678 | }, | |
21679 | "file" : { | |
21680 | "default_key" : 1, | |
21681 | "description" : "The drive's backing volume.", | |
21682 | "format" : "pve-volume-id-or-qm-path", | |
21683 | "format_description" : "volume", | |
21684 | "type" : "string" | |
21685 | }, | |
21686 | "format" : { | |
21687 | "description" : "The drive's backing file's data format.", | |
21688 | "enum" : [ | |
21689 | "raw", | |
21690 | "cow", | |
21691 | "qcow", | |
21692 | "qed", | |
21693 | "qcow2", | |
21694 | "vmdk", | |
21695 | "cloop" | |
21696 | ], | |
44660702 DM |
21697 | "optional" : 1, |
21698 | "type" : "string" | |
21699 | }, | |
21700 | "heads" : { | |
21701 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
21702 | "optional" : 1, |
21703 | "type" : "integer" | |
21704 | }, | |
21705 | "iops" : { | |
de0983cb | 21706 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 DM |
21707 | "format_description" : "iops", |
21708 | "optional" : 1, | |
21709 | "type" : "integer" | |
21710 | }, | |
21711 | "iops_max" : { | |
de0983cb | 21712 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 DM |
21713 | "format_description" : "iops", |
21714 | "optional" : 1, | |
21715 | "type" : "integer" | |
21716 | }, | |
de0983cb DM |
21717 | "iops_max_length" : { |
21718 | "description" : "Maximum length of I/O bursts in seconds.", | |
21719 | "format_description" : "seconds", | |
21720 | "minimum" : 1, | |
21721 | "optional" : 1, | |
21722 | "type" : "integer" | |
21723 | }, | |
44660702 | 21724 | "iops_rd" : { |
de0983cb | 21725 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
21726 | "format_description" : "iops", |
21727 | "optional" : 1, | |
21728 | "type" : "integer" | |
21729 | }, | |
de0983cb | 21730 | "iops_rd_length" : { |
5d9c884c | 21731 | "alias" : "iops_rd_max_length" |
de0983cb | 21732 | }, |
44660702 | 21733 | "iops_rd_max" : { |
de0983cb | 21734 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
21735 | "format_description" : "iops", |
21736 | "optional" : 1, | |
21737 | "type" : "integer" | |
21738 | }, | |
5d9c884c DM |
21739 | "iops_rd_max_length" : { |
21740 | "description" : "Maximum length of read I/O bursts in seconds.", | |
21741 | "format_description" : "seconds", | |
21742 | "minimum" : 1, | |
21743 | "optional" : 1, | |
21744 | "type" : "integer" | |
21745 | }, | |
44660702 | 21746 | "iops_wr" : { |
de0983cb | 21747 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
21748 | "format_description" : "iops", |
21749 | "optional" : 1, | |
21750 | "type" : "integer" | |
21751 | }, | |
de0983cb | 21752 | "iops_wr_length" : { |
5d9c884c | 21753 | "alias" : "iops_wr_max_length" |
de0983cb | 21754 | }, |
44660702 | 21755 | "iops_wr_max" : { |
de0983cb | 21756 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
21757 | "format_description" : "iops", |
21758 | "optional" : 1, | |
21759 | "type" : "integer" | |
21760 | }, | |
5d9c884c DM |
21761 | "iops_wr_max_length" : { |
21762 | "description" : "Maximum length of write I/O bursts in seconds.", | |
21763 | "format_description" : "seconds", | |
21764 | "minimum" : 1, | |
21765 | "optional" : 1, | |
21766 | "type" : "integer" | |
21767 | }, | |
44660702 DM |
21768 | "iothread" : { |
21769 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
21770 | "optional" : 1, |
21771 | "type" : "boolean" | |
21772 | }, | |
21773 | "mbps" : { | |
de0983cb | 21774 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
21775 | "format_description" : "mbps", |
21776 | "optional" : 1, | |
21777 | "type" : "number" | |
21778 | }, | |
21779 | "mbps_max" : { | |
de0983cb | 21780 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
21781 | "format_description" : "mbps", |
21782 | "optional" : 1, | |
21783 | "type" : "number" | |
21784 | }, | |
21785 | "mbps_rd" : { | |
de0983cb | 21786 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
21787 | "format_description" : "mbps", |
21788 | "optional" : 1, | |
21789 | "type" : "number" | |
21790 | }, | |
21791 | "mbps_rd_max" : { | |
de0983cb | 21792 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
21793 | "format_description" : "mbps", |
21794 | "optional" : 1, | |
21795 | "type" : "number" | |
21796 | }, | |
21797 | "mbps_wr" : { | |
de0983cb | 21798 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
21799 | "format_description" : "mbps", |
21800 | "optional" : 1, | |
21801 | "type" : "number" | |
21802 | }, | |
21803 | "mbps_wr_max" : { | |
de0983cb | 21804 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
21805 | "format_description" : "mbps", |
21806 | "optional" : 1, | |
21807 | "type" : "number" | |
21808 | }, | |
21809 | "media" : { | |
21810 | "default" : "disk", | |
21811 | "description" : "The drive's media type.", | |
21812 | "enum" : [ | |
21813 | "cdrom", | |
21814 | "disk" | |
21815 | ], | |
44660702 DM |
21816 | "optional" : 1, |
21817 | "type" : "string" | |
21818 | }, | |
5d9c884c DM |
21819 | "replicate" : { |
21820 | "default" : 1, | |
21821 | "description" : "Whether the drive should considered for replication jobs.", | |
21822 | "optional" : 1, | |
21823 | "type" : "boolean" | |
21824 | }, | |
44660702 DM |
21825 | "rerror" : { |
21826 | "description" : "Read error action.", | |
21827 | "enum" : [ | |
21828 | "ignore", | |
21829 | "report", | |
21830 | "stop" | |
21831 | ], | |
44660702 DM |
21832 | "optional" : 1, |
21833 | "type" : "string" | |
21834 | }, | |
21835 | "secs" : { | |
21836 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
21837 | "optional" : 1, |
21838 | "type" : "integer" | |
21839 | }, | |
21840 | "serial" : { | |
21841 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
21842 | "format" : "urlencoded", | |
21843 | "format_description" : "serial", | |
21844 | "maxLength" : 60, | |
21845 | "optional" : 1, | |
21846 | "type" : "string" | |
21847 | }, | |
27a7acb2 DM |
21848 | "shared" : { |
21849 | "default" : 0, | |
21850 | "description" : "Mark this locally-managed volume as available on all nodes", | |
21851 | "optional" : 1, | |
21852 | "type" : "boolean", | |
21853 | "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!" | |
21854 | }, | |
44660702 DM |
21855 | "size" : { |
21856 | "description" : "Disk size. This is purely informational and has no effect.", | |
21857 | "format" : "disk-size", | |
f004f5b9 | 21858 | "format_description" : "DiskSize", |
44660702 DM |
21859 | "optional" : 1, |
21860 | "type" : "string" | |
21861 | }, | |
21862 | "snapshot" : { | |
27a7acb2 | 21863 | "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.", |
44660702 DM |
21864 | "optional" : 1, |
21865 | "type" : "boolean" | |
21866 | }, | |
21867 | "trans" : { | |
21868 | "description" : "Force disk geometry bios translation mode.", | |
21869 | "enum" : [ | |
21870 | "none", | |
21871 | "lba", | |
21872 | "auto" | |
21873 | ], | |
44660702 DM |
21874 | "optional" : 1, |
21875 | "type" : "string" | |
21876 | }, | |
21877 | "volume" : { | |
21878 | "alias" : "file" | |
21879 | }, | |
21880 | "werror" : { | |
21881 | "description" : "Write error action.", | |
21882 | "enum" : [ | |
21883 | "enospc", | |
21884 | "ignore", | |
21885 | "report", | |
21886 | "stop" | |
21887 | ], | |
44660702 DM |
21888 | "optional" : 1, |
21889 | "type" : "string" | |
21890 | } | |
21891 | }, | |
21892 | "optional" : 1, | |
4bd7df8b | 21893 | "type" : "string", |
27a7acb2 | 21894 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
7aacca6f | 21895 | }, |
4d47f125 TL |
21896 | "vmgenid" : { |
21897 | "default" : "1 (autogenerated)", | |
21898 | "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.", | |
21899 | "format_description" : "UUID", | |
21900 | "optional" : 1, | |
21901 | "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])", | |
21902 | "type" : "string", | |
21903 | "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file." | |
21904 | }, | |
44660702 DM |
21905 | "vmid" : { |
21906 | "description" : "The (unique) ID of the VM.", | |
21907 | "format" : "pve-vmid", | |
21908 | "minimum" : 1, | |
4bd7df8b | 21909 | "type" : "integer", |
013dc89f | 21910 | "typetext" : "<integer> (1 - N)" |
44660702 | 21911 | }, |
2489d6df WB |
21912 | "vmstatestorage" : { |
21913 | "description" : "Default storage for VM state volumes/files.", | |
21914 | "format" : "pve-storage-id", | |
21915 | "optional" : 1, | |
21916 | "type" : "string", | |
21917 | "typetext" : "<string>" | |
21918 | }, | |
44660702 | 21919 | "watchdog" : { |
c2993fe5 | 21920 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 21921 | "format" : "pve-qm-watchdog", |
7aacca6f | 21922 | "optional" : 1, |
c2993fe5 | 21923 | "type" : "string", |
013dc89f | 21924 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", |
c2993fe5 | 21925 | "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 | 21926 | } |
44660702 | 21927 | } |
56122987 | 21928 | }, |
56122987 | 21929 | "permissions" : { |
44660702 DM |
21930 | "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.", |
21931 | "user" : "all" | |
56122987 | 21932 | }, |
44660702 DM |
21933 | "protected" : 1, |
21934 | "proxyto" : "node", | |
56122987 | 21935 | "returns" : { |
44660702 | 21936 | "type" : "string" |
7aacca6f | 21937 | } |
56122987 | 21938 | } |
7aacca6f | 21939 | }, |
44660702 | 21940 | "leaf" : 0, |
7aacca6f | 21941 | "path" : "/nodes/{node}/qemu", |
44660702 | 21942 | "text" : "qemu" |
56122987 DM |
21943 | }, |
21944 | { | |
21945 | "children" : [ | |
21946 | { | |
56122987 DM |
21947 | "children" : [ |
21948 | { | |
56122987 | 21949 | "info" : { |
44660702 | 21950 | "GET" : { |
e9cd3bd4 | 21951 | "allowtoken" : 1, |
44660702 DM |
21952 | "description" : "Get container configuration.", |
21953 | "method" : "GET", | |
21954 | "name" : "vm_config", | |
21955 | "parameters" : { | |
21956 | "additionalProperties" : 0, | |
21957 | "properties" : { | |
1c532546 TL |
21958 | "current" : { |
21959 | "default" : 0, | |
21960 | "description" : "Get current values (instead of pending values).", | |
21961 | "optional" : 1, | |
21962 | "type" : "boolean", | |
21963 | "typetext" : "<boolean>" | |
21964 | }, | |
44660702 DM |
21965 | "node" : { |
21966 | "description" : "The cluster node name.", | |
21967 | "format" : "pve-node", | |
013dc89f | 21968 | "type" : "string", |
4d47f125 TL |
21969 | "typetext" : "<string>" |
21970 | }, | |
5f26e15b TL |
21971 | "snapshot" : { |
21972 | "description" : "Fetch config values from given snapshot.", | |
21973 | "format" : "pve-configid", | |
21974 | "maxLength" : 40, | |
21975 | "optional" : 1, | |
21976 | "type" : "string", | |
21977 | "typetext" : "<string>" | |
21978 | }, | |
4d47f125 TL |
21979 | "vmid" : { |
21980 | "description" : "The (unique) ID of the VM.", | |
21981 | "format" : "pve-vmid", | |
21982 | "minimum" : 1, | |
21983 | "type" : "integer", | |
21984 | "typetext" : "<integer> (1 - N)" | |
21985 | } | |
21986 | } | |
21987 | }, | |
21988 | "permissions" : { | |
21989 | "check" : [ | |
21990 | "perm", | |
21991 | "/vms/{vmid}", | |
21992 | [ | |
21993 | "VM.Audit" | |
21994 | ] | |
21995 | ] | |
21996 | }, | |
21997 | "proxyto" : "node", | |
21998 | "returns" : { | |
21999 | "properties" : { | |
22000 | "arch" : { | |
22001 | "default" : "amd64", | |
22002 | "description" : "OS architecture type.", | |
22003 | "enum" : [ | |
22004 | "amd64", | |
22005 | "i386", | |
22006 | "arm64", | |
22007 | "armhf" | |
22008 | ], | |
22009 | "optional" : 1, | |
22010 | "type" : "string" | |
22011 | }, | |
22012 | "cmode" : { | |
22013 | "default" : "tty", | |
22014 | "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).", | |
22015 | "enum" : [ | |
22016 | "shell", | |
22017 | "console", | |
22018 | "tty" | |
22019 | ], | |
22020 | "optional" : 1, | |
22021 | "type" : "string" | |
22022 | }, | |
22023 | "console" : { | |
22024 | "default" : 1, | |
22025 | "description" : "Attach a console device (/dev/console) to the container.", | |
22026 | "optional" : 1, | |
22027 | "type" : "boolean" | |
22028 | }, | |
22029 | "cores" : { | |
22030 | "description" : "The number of cores assigned to the container. A container can use all available cores by default.", | |
22031 | "maximum" : 128, | |
22032 | "minimum" : 1, | |
22033 | "optional" : 1, | |
22034 | "type" : "integer" | |
22035 | }, | |
22036 | "cpulimit" : { | |
22037 | "default" : 0, | |
22038 | "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.", | |
22039 | "maximum" : 128, | |
22040 | "minimum" : 0, | |
22041 | "optional" : 1, | |
22042 | "type" : "number" | |
22043 | }, | |
22044 | "cpuunits" : { | |
22045 | "default" : 1024, | |
22046 | "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.", | |
22047 | "maximum" : 500000, | |
22048 | "minimum" : 0, | |
22049 | "optional" : 1, | |
22050 | "type" : "integer" | |
22051 | }, | |
22052 | "description" : { | |
22053 | "description" : "Container description. Only used on the configuration web interface.", | |
22054 | "optional" : 1, | |
22055 | "type" : "string" | |
22056 | }, | |
22057 | "digest" : { | |
22058 | "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.", | |
22059 | "type" : "string" | |
22060 | }, | |
22061 | "features" : { | |
22062 | "description" : "Allow containers access to advanced features.", | |
22063 | "format" : { | |
c5aa7e14 TL |
22064 | "force_rw_sys" : { |
22065 | "default" : 0, | |
22066 | "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.", | |
22067 | "optional" : 1, | |
22068 | "type" : "boolean" | |
22069 | }, | |
e2d681b3 TL |
22070 | "fuse" : { |
22071 | "default" : 0, | |
22072 | "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.", | |
22073 | "optional" : 1, | |
22074 | "type" : "boolean" | |
22075 | }, | |
4d47f125 TL |
22076 | "keyctl" : { |
22077 | "default" : 0, | |
22078 | "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.", | |
22079 | "optional" : 1, | |
22080 | "type" : "boolean" | |
22081 | }, | |
c5aa7e14 TL |
22082 | "mknod" : { |
22083 | "default" : 0, | |
22084 | "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.", | |
22085 | "optional" : 1, | |
22086 | "type" : "boolean" | |
22087 | }, | |
4d47f125 TL |
22088 | "mount" : { |
22089 | "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.", | |
22090 | "format_description" : "fstype;fstype;...", | |
22091 | "optional" : 1, | |
95895385 | 22092 | "pattern" : "(?^:[a-zA-Z0-9_; ]+)", |
4d47f125 TL |
22093 | "type" : "string" |
22094 | }, | |
22095 | "nesting" : { | |
22096 | "default" : 0, | |
22097 | "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.", | |
22098 | "optional" : 1, | |
22099 | "type" : "boolean" | |
22100 | } | |
22101 | }, | |
22102 | "optional" : 1, | |
22103 | "type" : "string" | |
22104 | }, | |
5f26e15b TL |
22105 | "hookscript" : { |
22106 | "description" : "Script that will be exectued during various steps in the containers lifetime.", | |
22107 | "format" : "pve-volume-id", | |
22108 | "optional" : 1, | |
22109 | "type" : "string" | |
22110 | }, | |
4d47f125 TL |
22111 | "hostname" : { |
22112 | "description" : "Set a host name for the container.", | |
22113 | "format" : "dns-name", | |
22114 | "maxLength" : 255, | |
22115 | "optional" : 1, | |
22116 | "type" : "string" | |
22117 | }, | |
22118 | "lock" : { | |
22119 | "description" : "Lock/unlock the VM.", | |
22120 | "enum" : [ | |
22121 | "backup", | |
bb4c8cf8 | 22122 | "create", |
1c532546 | 22123 | "destroyed", |
4d47f125 | 22124 | "disk", |
bb4c8cf8 | 22125 | "fstrim", |
4d47f125 TL |
22126 | "migrate", |
22127 | "mounted", | |
22128 | "rollback", | |
22129 | "snapshot", | |
22130 | "snapshot-delete" | |
22131 | ], | |
22132 | "optional" : 1, | |
22133 | "type" : "string" | |
22134 | }, | |
22135 | "lxc" : { | |
22136 | "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).", | |
22137 | "items" : { | |
22138 | "items" : { | |
22139 | "type" : "string" | |
22140 | }, | |
22141 | "type" : "array" | |
22142 | }, | |
22143 | "optional" : 1, | |
22144 | "type" : "array" | |
22145 | }, | |
22146 | "memory" : { | |
22147 | "default" : 512, | |
22148 | "description" : "Amount of RAM for the VM in MB.", | |
22149 | "minimum" : 16, | |
22150 | "optional" : 1, | |
22151 | "type" : "integer" | |
22152 | }, | |
22153 | "mp[n]" : { | |
22154 | "description" : "Use volume as container mount point.", | |
22155 | "format" : { | |
22156 | "acl" : { | |
22157 | "description" : "Explicitly enable or disable ACL support.", | |
22158 | "optional" : 1, | |
22159 | "type" : "boolean" | |
22160 | }, | |
22161 | "backup" : { | |
22162 | "description" : "Whether to include the mount point in backups.", | |
22163 | "optional" : 1, | |
22164 | "type" : "boolean", | |
22165 | "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)." | |
22166 | }, | |
7cbed89a TL |
22167 | "mountoptions" : { |
22168 | "description" : "Extra mount options for rootfs/mps.", | |
22169 | "format_description" : "opt[;opt...]", | |
22170 | "optional" : 1, | |
22171 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
22172 | "type" : "string" | |
22173 | }, | |
4d47f125 TL |
22174 | "mp" : { |
22175 | "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).", | |
22176 | "format" : "pve-lxc-mp-string", | |
22177 | "format_description" : "Path", | |
22178 | "type" : "string", | |
22179 | "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons." | |
22180 | }, | |
22181 | "quota" : { | |
22182 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
22183 | "optional" : 1, | |
22184 | "type" : "boolean" | |
22185 | }, | |
22186 | "replicate" : { | |
22187 | "default" : 1, | |
22188 | "description" : "Will include this volume to a storage replica job.", | |
22189 | "optional" : 1, | |
22190 | "type" : "boolean" | |
22191 | }, | |
22192 | "ro" : { | |
22193 | "description" : "Read-only mount point", | |
22194 | "optional" : 1, | |
22195 | "type" : "boolean" | |
22196 | }, | |
22197 | "shared" : { | |
22198 | "default" : 0, | |
22199 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
22200 | "optional" : 1, | |
22201 | "type" : "boolean", | |
22202 | "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!" | |
22203 | }, | |
22204 | "size" : { | |
22205 | "description" : "Volume size (read only value).", | |
22206 | "format" : "disk-size", | |
22207 | "format_description" : "DiskSize", | |
22208 | "optional" : 1, | |
22209 | "type" : "string" | |
22210 | }, | |
22211 | "volume" : { | |
22212 | "default_key" : 1, | |
22213 | "description" : "Volume, device or directory to mount into the container.", | |
22214 | "format" : "pve-lxc-mp-string", | |
22215 | "format_description" : "volume", | |
22216 | "type" : "string" | |
22217 | } | |
22218 | }, | |
22219 | "optional" : 1, | |
22220 | "type" : "string" | |
22221 | }, | |
22222 | "nameserver" : { | |
22223 | "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.", | |
22224 | "format" : "address-list", | |
22225 | "optional" : 1, | |
22226 | "type" : "string" | |
22227 | }, | |
22228 | "net[n]" : { | |
22229 | "description" : "Specifies network interfaces for the container.", | |
22230 | "format" : { | |
22231 | "bridge" : { | |
22232 | "description" : "Bridge to attach the network device to.", | |
22233 | "format_description" : "bridge", | |
22234 | "optional" : 1, | |
22235 | "pattern" : "[-_.\\w\\d]+", | |
22236 | "type" : "string" | |
22237 | }, | |
22238 | "firewall" : { | |
22239 | "description" : "Controls whether this interface's firewall rules should be used.", | |
22240 | "optional" : 1, | |
22241 | "type" : "boolean" | |
22242 | }, | |
22243 | "gw" : { | |
22244 | "description" : "Default gateway for IPv4 traffic.", | |
22245 | "format" : "ipv4", | |
22246 | "format_description" : "GatewayIPv4", | |
22247 | "optional" : 1, | |
22248 | "type" : "string" | |
22249 | }, | |
22250 | "gw6" : { | |
22251 | "description" : "Default gateway for IPv6 traffic.", | |
22252 | "format" : "ipv6", | |
22253 | "format_description" : "GatewayIPv6", | |
22254 | "optional" : 1, | |
22255 | "type" : "string" | |
22256 | }, | |
22257 | "hwaddr" : { | |
22258 | "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)", | |
95895385 | 22259 | "format" : "mac-addr", |
4d47f125 TL |
22260 | "format_description" : "XX:XX:XX:XX:XX:XX", |
22261 | "optional" : 1, | |
95895385 TL |
22262 | "type" : "string", |
22263 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
4d47f125 TL |
22264 | }, |
22265 | "ip" : { | |
22266 | "description" : "IPv4 address in CIDR format.", | |
22267 | "format" : "pve-ipv4-config", | |
22268 | "format_description" : "(IPv4/CIDR|dhcp|manual)", | |
22269 | "optional" : 1, | |
22270 | "type" : "string" | |
22271 | }, | |
22272 | "ip6" : { | |
22273 | "description" : "IPv6 address in CIDR format.", | |
22274 | "format" : "pve-ipv6-config", | |
22275 | "format_description" : "(IPv6/CIDR|auto|dhcp|manual)", | |
22276 | "optional" : 1, | |
22277 | "type" : "string" | |
22278 | }, | |
22279 | "mtu" : { | |
22280 | "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)", | |
22281 | "minimum" : 64, | |
22282 | "optional" : 1, | |
22283 | "type" : "integer" | |
22284 | }, | |
22285 | "name" : { | |
22286 | "description" : "Name of the network device as seen from inside the container. (lxc.network.name)", | |
22287 | "format_description" : "string", | |
22288 | "pattern" : "[-_.\\w\\d]+", | |
22289 | "type" : "string" | |
22290 | }, | |
22291 | "rate" : { | |
22292 | "description" : "Apply rate limiting to the interface", | |
22293 | "format_description" : "mbps", | |
22294 | "optional" : 1, | |
22295 | "type" : "number" | |
22296 | }, | |
22297 | "tag" : { | |
22298 | "description" : "VLAN tag for this interface.", | |
22299 | "maximum" : 4094, | |
22300 | "minimum" : 1, | |
22301 | "optional" : 1, | |
22302 | "type" : "integer" | |
22303 | }, | |
22304 | "trunks" : { | |
22305 | "description" : "VLAN ids to pass through the interface", | |
22306 | "format_description" : "vlanid[;vlanid...]", | |
22307 | "optional" : 1, | |
22308 | "pattern" : "(?^:\\d+(?:;\\d+)*)", | |
22309 | "type" : "string" | |
22310 | }, | |
22311 | "type" : { | |
22312 | "description" : "Network interface type.", | |
22313 | "enum" : [ | |
22314 | "veth" | |
22315 | ], | |
22316 | "optional" : 1, | |
22317 | "type" : "string" | |
22318 | } | |
22319 | }, | |
22320 | "optional" : 1, | |
22321 | "type" : "string" | |
22322 | }, | |
22323 | "onboot" : { | |
22324 | "default" : 0, | |
22325 | "description" : "Specifies whether a VM will be started during system bootup.", | |
22326 | "optional" : 1, | |
22327 | "type" : "boolean" | |
22328 | }, | |
22329 | "ostype" : { | |
22330 | "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.", | |
22331 | "enum" : [ | |
22332 | "debian", | |
22333 | "ubuntu", | |
22334 | "centos", | |
22335 | "fedora", | |
22336 | "opensuse", | |
22337 | "archlinux", | |
22338 | "alpine", | |
22339 | "gentoo", | |
22340 | "unmanaged" | |
22341 | ], | |
22342 | "optional" : 1, | |
22343 | "type" : "string" | |
22344 | }, | |
22345 | "protection" : { | |
22346 | "default" : 0, | |
22347 | "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.", | |
22348 | "optional" : 1, | |
22349 | "type" : "boolean" | |
22350 | }, | |
22351 | "rootfs" : { | |
22352 | "description" : "Use volume as container root.", | |
22353 | "format" : { | |
22354 | "acl" : { | |
22355 | "description" : "Explicitly enable or disable ACL support.", | |
22356 | "optional" : 1, | |
22357 | "type" : "boolean" | |
22358 | }, | |
7cbed89a TL |
22359 | "mountoptions" : { |
22360 | "description" : "Extra mount options for rootfs/mps.", | |
22361 | "format_description" : "opt[;opt...]", | |
22362 | "optional" : 1, | |
22363 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
22364 | "type" : "string" | |
22365 | }, | |
4d47f125 TL |
22366 | "quota" : { |
22367 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
22368 | "optional" : 1, | |
22369 | "type" : "boolean" | |
22370 | }, | |
22371 | "replicate" : { | |
22372 | "default" : 1, | |
22373 | "description" : "Will include this volume to a storage replica job.", | |
22374 | "optional" : 1, | |
22375 | "type" : "boolean" | |
22376 | }, | |
22377 | "ro" : { | |
22378 | "description" : "Read-only mount point", | |
22379 | "optional" : 1, | |
22380 | "type" : "boolean" | |
22381 | }, | |
22382 | "shared" : { | |
22383 | "default" : 0, | |
22384 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
22385 | "optional" : 1, | |
22386 | "type" : "boolean", | |
22387 | "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!" | |
22388 | }, | |
22389 | "size" : { | |
22390 | "description" : "Volume size (read only value).", | |
22391 | "format" : "disk-size", | |
22392 | "format_description" : "DiskSize", | |
22393 | "optional" : 1, | |
22394 | "type" : "string" | |
22395 | }, | |
22396 | "volume" : { | |
22397 | "default_key" : 1, | |
22398 | "description" : "Volume, device or directory to mount into the container.", | |
22399 | "format" : "pve-lxc-mp-string", | |
22400 | "format_description" : "volume", | |
22401 | "type" : "string" | |
22402 | } | |
22403 | }, | |
22404 | "optional" : 1, | |
22405 | "type" : "string" | |
22406 | }, | |
22407 | "searchdomain" : { | |
22408 | "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
22409 | "format" : "dns-name-list", | |
22410 | "optional" : 1, | |
22411 | "type" : "string" | |
22412 | }, | |
22413 | "startup" : { | |
22414 | "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.", | |
22415 | "format" : "pve-startup-order", | |
22416 | "optional" : 1, | |
22417 | "type" : "string", | |
22418 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
22419 | }, | |
22420 | "swap" : { | |
22421 | "default" : 512, | |
22422 | "description" : "Amount of SWAP for the VM in MB.", | |
22423 | "minimum" : 0, | |
22424 | "optional" : 1, | |
22425 | "type" : "integer" | |
22426 | }, | |
5c1699e5 TL |
22427 | "tags" : { |
22428 | "description" : "Tags of the Container. This is only meta information.", | |
22429 | "format" : "pve-tag-list", | |
22430 | "optional" : 1, | |
22431 | "type" : "string" | |
22432 | }, | |
4d47f125 TL |
22433 | "template" : { |
22434 | "default" : 0, | |
22435 | "description" : "Enable/disable Template.", | |
22436 | "optional" : 1, | |
22437 | "type" : "boolean" | |
44660702 | 22438 | }, |
4d47f125 TL |
22439 | "tty" : { |
22440 | "default" : 2, | |
22441 | "description" : "Specify the number of tty available to the container", | |
22442 | "maximum" : 6, | |
22443 | "minimum" : 0, | |
22444 | "optional" : 1, | |
22445 | "type" : "integer" | |
22446 | }, | |
22447 | "unprivileged" : { | |
22448 | "default" : 0, | |
22449 | "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)", | |
22450 | "optional" : 1, | |
22451 | "type" : "boolean" | |
22452 | }, | |
22453 | "unused[n]" : { | |
22454 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", | |
c5aa7e14 TL |
22455 | "format" : { |
22456 | "volume" : { | |
22457 | "default_key" : 1, | |
22458 | "description" : "The volume that is not used currently.", | |
22459 | "format" : "pve-volume-id", | |
22460 | "format_description" : "volume", | |
22461 | "type" : "string" | |
22462 | } | |
22463 | }, | |
4d47f125 | 22464 | "optional" : 1, |
44660702 DM |
22465 | "type" : "string" |
22466 | } | |
22467 | }, | |
22468 | "type" : "object" | |
22469 | } | |
22470 | }, | |
56122987 | 22471 | "PUT" : { |
e9cd3bd4 | 22472 | "allowtoken" : 1, |
44660702 DM |
22473 | "description" : "Set container options.", |
22474 | "method" : "PUT", | |
22475 | "name" : "update_vm", | |
56122987 | 22476 | "parameters" : { |
44660702 | 22477 | "additionalProperties" : 0, |
56122987 | 22478 | "properties" : { |
44660702 DM |
22479 | "arch" : { |
22480 | "default" : "amd64", | |
22481 | "description" : "OS architecture type.", | |
22482 | "enum" : [ | |
22483 | "amd64", | |
4d47f125 TL |
22484 | "i386", |
22485 | "arm64", | |
22486 | "armhf" | |
44660702 | 22487 | ], |
7aacca6f | 22488 | "optional" : 1, |
44660702 DM |
22489 | "type" : "string" |
22490 | }, | |
22491 | "cmode" : { | |
7aacca6f | 22492 | "default" : "tty", |
44660702 | 22493 | "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 |
22494 | "enum" : [ |
22495 | "shell", | |
22496 | "console", | |
22497 | "tty" | |
22498 | ], | |
44660702 DM |
22499 | "optional" : 1, |
22500 | "type" : "string" | |
7aacca6f | 22501 | }, |
44660702 DM |
22502 | "console" : { |
22503 | "default" : 1, | |
22504 | "description" : "Attach a console device (/dev/console) to the container.", | |
7aacca6f | 22505 | "optional" : 1, |
013dc89f DM |
22506 | "type" : "boolean", |
22507 | "typetext" : "<boolean>" | |
7aacca6f | 22508 | }, |
de0983cb DM |
22509 | "cores" : { |
22510 | "description" : "The number of cores assigned to the container. A container can use all available cores by default.", | |
22511 | "maximum" : 128, | |
22512 | "minimum" : 1, | |
22513 | "optional" : 1, | |
22514 | "type" : "integer", | |
013dc89f | 22515 | "typetext" : "<integer> (1 - 128)" |
de0983cb | 22516 | }, |
44660702 DM |
22517 | "cpulimit" : { |
22518 | "default" : 0, | |
22519 | "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.", | |
22520 | "maximum" : 128, | |
7aacca6f | 22521 | "minimum" : 0, |
7aacca6f | 22522 | "optional" : 1, |
4bd7df8b | 22523 | "type" : "number", |
013dc89f | 22524 | "typetext" : "<number> (0 - 128)" |
7aacca6f | 22525 | }, |
44660702 DM |
22526 | "cpuunits" : { |
22527 | "default" : 1024, | |
22528 | "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.", | |
22529 | "maximum" : 500000, | |
22530 | "minimum" : 0, | |
22531 | "optional" : 1, | |
4bd7df8b | 22532 | "type" : "integer", |
013dc89f | 22533 | "typetext" : "<integer> (0 - 500000)" |
7aacca6f | 22534 | }, |
44660702 DM |
22535 | "delete" : { |
22536 | "description" : "A list of settings you want to delete.", | |
22537 | "format" : "pve-configid-list", | |
7aacca6f | 22538 | "optional" : 1, |
013dc89f DM |
22539 | "type" : "string", |
22540 | "typetext" : "<string>" | |
7aacca6f | 22541 | }, |
44660702 DM |
22542 | "description" : { |
22543 | "description" : "Container description. Only used on the configuration web interface.", | |
7aacca6f | 22544 | "optional" : 1, |
013dc89f DM |
22545 | "type" : "string", |
22546 | "typetext" : "<string>" | |
7aacca6f | 22547 | }, |
44660702 DM |
22548 | "digest" : { |
22549 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
22550 | "maxLength" : 40, | |
7aacca6f | 22551 | "optional" : 1, |
013dc89f DM |
22552 | "type" : "string", |
22553 | "typetext" : "<string>" | |
7aacca6f | 22554 | }, |
4d47f125 TL |
22555 | "features" : { |
22556 | "description" : "Allow containers access to advanced features.", | |
22557 | "format" : { | |
c5aa7e14 TL |
22558 | "force_rw_sys" : { |
22559 | "default" : 0, | |
22560 | "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.", | |
22561 | "optional" : 1, | |
22562 | "type" : "boolean" | |
22563 | }, | |
e2d681b3 TL |
22564 | "fuse" : { |
22565 | "default" : 0, | |
22566 | "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.", | |
22567 | "optional" : 1, | |
22568 | "type" : "boolean" | |
22569 | }, | |
4d47f125 TL |
22570 | "keyctl" : { |
22571 | "default" : 0, | |
22572 | "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.", | |
22573 | "optional" : 1, | |
22574 | "type" : "boolean" | |
22575 | }, | |
c5aa7e14 TL |
22576 | "mknod" : { |
22577 | "default" : 0, | |
22578 | "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.", | |
22579 | "optional" : 1, | |
22580 | "type" : "boolean" | |
22581 | }, | |
4d47f125 TL |
22582 | "mount" : { |
22583 | "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.", | |
22584 | "format_description" : "fstype;fstype;...", | |
22585 | "optional" : 1, | |
95895385 | 22586 | "pattern" : "(?^:[a-zA-Z0-9_; ]+)", |
4d47f125 TL |
22587 | "type" : "string" |
22588 | }, | |
22589 | "nesting" : { | |
22590 | "default" : 0, | |
22591 | "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.", | |
22592 | "optional" : 1, | |
22593 | "type" : "boolean" | |
22594 | } | |
22595 | }, | |
22596 | "optional" : 1, | |
22597 | "type" : "string", | |
c5aa7e14 | 22598 | "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]" |
4d47f125 | 22599 | }, |
5f26e15b TL |
22600 | "hookscript" : { |
22601 | "description" : "Script that will be exectued during various steps in the containers lifetime.", | |
22602 | "format" : "pve-volume-id", | |
22603 | "optional" : 1, | |
22604 | "type" : "string", | |
22605 | "typetext" : "<string>" | |
22606 | }, | |
44660702 DM |
22607 | "hostname" : { |
22608 | "description" : "Set a host name for the container.", | |
22609 | "format" : "dns-name", | |
22610 | "maxLength" : 255, | |
56122987 | 22611 | "optional" : 1, |
013dc89f DM |
22612 | "type" : "string", |
22613 | "typetext" : "<string>" | |
44660702 DM |
22614 | }, |
22615 | "lock" : { | |
22616 | "description" : "Lock/unlock the VM.", | |
22617 | "enum" : [ | |
44660702 | 22618 | "backup", |
bb4c8cf8 | 22619 | "create", |
1c532546 | 22620 | "destroyed", |
4d47f125 | 22621 | "disk", |
bb4c8cf8 | 22622 | "fstrim", |
4d47f125 TL |
22623 | "migrate", |
22624 | "mounted", | |
22625 | "rollback", | |
44660702 | 22626 | "snapshot", |
4d47f125 | 22627 | "snapshot-delete" |
44660702 DM |
22628 | ], |
22629 | "optional" : 1, | |
22630 | "type" : "string" | |
22631 | }, | |
22632 | "memory" : { | |
22633 | "default" : 512, | |
22634 | "description" : "Amount of RAM for the VM in MB.", | |
22635 | "minimum" : 16, | |
22636 | "optional" : 1, | |
4bd7df8b | 22637 | "type" : "integer", |
013dc89f | 22638 | "typetext" : "<integer> (16 - N)" |
7aacca6f DM |
22639 | }, |
22640 | "mp[n]" : { | |
c2993fe5 | 22641 | "description" : "Use volume as container mount point.", |
7aacca6f | 22642 | "format" : { |
7aacca6f DM |
22643 | "acl" : { |
22644 | "description" : "Explicitly enable or disable ACL support.", | |
7aacca6f | 22645 | "optional" : 1, |
44660702 | 22646 | "type" : "boolean" |
7aacca6f DM |
22647 | }, |
22648 | "backup" : { | |
de0983cb | 22649 | "description" : "Whether to include the mount point in backups.", |
7aacca6f | 22650 | "optional" : 1, |
4bd7df8b | 22651 | "type" : "boolean", |
de0983cb | 22652 | "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)." |
7aacca6f | 22653 | }, |
7cbed89a TL |
22654 | "mountoptions" : { |
22655 | "description" : "Extra mount options for rootfs/mps.", | |
22656 | "format_description" : "opt[;opt...]", | |
22657 | "optional" : 1, | |
22658 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
22659 | "type" : "string" | |
22660 | }, | |
7aacca6f | 22661 | "mp" : { |
de0983cb | 22662 | "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).", |
7aacca6f | 22663 | "format" : "pve-lxc-mp-string", |
44660702 | 22664 | "format_description" : "Path", |
4bd7df8b | 22665 | "type" : "string", |
de0983cb | 22666 | "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons." |
44660702 | 22667 | }, |
5d9c884c DM |
22668 | "quota" : { |
22669 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
22670 | "optional" : 1, | |
22671 | "type" : "boolean" | |
22672 | }, | |
22673 | "replicate" : { | |
22674 | "default" : 1, | |
22675 | "description" : "Will include this volume to a storage replica job.", | |
44660702 DM |
22676 | "optional" : 1, |
22677 | "type" : "boolean" | |
22678 | }, | |
22679 | "ro" : { | |
de0983cb | 22680 | "description" : "Read-only mount point", |
44660702 DM |
22681 | "optional" : 1, |
22682 | "type" : "boolean" | |
22683 | }, | |
de0983cb DM |
22684 | "shared" : { |
22685 | "default" : 0, | |
22686 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
22687 | "optional" : 1, | |
22688 | "type" : "boolean", | |
22689 | "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!" | |
22690 | }, | |
44660702 DM |
22691 | "size" : { |
22692 | "description" : "Volume size (read only value).", | |
22693 | "format" : "disk-size", | |
22694 | "format_description" : "DiskSize", | |
22695 | "optional" : 1, | |
22696 | "type" : "string" | |
22697 | }, | |
22698 | "volume" : { | |
22699 | "default_key" : 1, | |
22700 | "description" : "Volume, device or directory to mount into the container.", | |
22701 | "format" : "pve-lxc-mp-string", | |
22702 | "format_description" : "volume", | |
22703 | "type" : "string" | |
22704 | } | |
22705 | }, | |
7aacca6f | 22706 | "optional" : 1, |
4bd7df8b | 22707 | "type" : "string", |
7cbed89a | 22708 | "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
56122987 | 22709 | }, |
44660702 DM |
22710 | "nameserver" : { |
22711 | "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.", | |
22712 | "format" : "address-list", | |
56122987 | 22713 | "optional" : 1, |
013dc89f DM |
22714 | "type" : "string", |
22715 | "typetext" : "<string>" | |
56122987 DM |
22716 | }, |
22717 | "net[n]" : { | |
44660702 | 22718 | "description" : "Specifies network interfaces for the container.", |
56122987 | 22719 | "format" : { |
44660702 DM |
22720 | "bridge" : { |
22721 | "description" : "Bridge to attach the network device to.", | |
f004f5b9 | 22722 | "format_description" : "bridge", |
56122987 | 22723 | "optional" : 1, |
44660702 DM |
22724 | "pattern" : "[-_.\\w\\d]+", |
22725 | "type" : "string" | |
56122987 | 22726 | }, |
44660702 DM |
22727 | "firewall" : { |
22728 | "description" : "Controls whether this interface's firewall rules should be used.", | |
56122987 | 22729 | "optional" : 1, |
44660702 | 22730 | "type" : "boolean" |
56122987 | 22731 | }, |
44660702 DM |
22732 | "gw" : { |
22733 | "description" : "Default gateway for IPv4 traffic.", | |
22734 | "format" : "ipv4", | |
22735 | "format_description" : "GatewayIPv4", | |
56122987 | 22736 | "optional" : 1, |
44660702 | 22737 | "type" : "string" |
56122987 DM |
22738 | }, |
22739 | "gw6" : { | |
7aacca6f | 22740 | "description" : "Default gateway for IPv6 traffic.", |
44660702 DM |
22741 | "format" : "ipv6", |
22742 | "format_description" : "GatewayIPv6", | |
7aacca6f | 22743 | "optional" : 1, |
56122987 DM |
22744 | "type" : "string" |
22745 | }, | |
44660702 | 22746 | "hwaddr" : { |
f004f5b9 | 22747 | "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)", |
95895385 | 22748 | "format" : "mac-addr", |
f004f5b9 | 22749 | "format_description" : "XX:XX:XX:XX:XX:XX", |
44660702 | 22750 | "optional" : 1, |
95895385 TL |
22751 | "type" : "string", |
22752 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
44660702 DM |
22753 | }, |
22754 | "ip" : { | |
22755 | "description" : "IPv4 address in CIDR format.", | |
22756 | "format" : "pve-ipv4-config", | |
2489d6df | 22757 | "format_description" : "(IPv4/CIDR|dhcp|manual)", |
56122987 | 22758 | "optional" : 1, |
44660702 | 22759 | "type" : "string" |
56122987 | 22760 | }, |
7aacca6f | 22761 | "ip6" : { |
7aacca6f DM |
22762 | "description" : "IPv6 address in CIDR format.", |
22763 | "format" : "pve-ipv6-config", | |
2489d6df | 22764 | "format_description" : "(IPv6/CIDR|auto|dhcp|manual)", |
7aacca6f | 22765 | "optional" : 1, |
44660702 | 22766 | "type" : "string" |
56122987 | 22767 | }, |
44660702 DM |
22768 | "mtu" : { |
22769 | "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)", | |
44660702 | 22770 | "minimum" : 64, |
56122987 | 22771 | "optional" : 1, |
44660702 | 22772 | "type" : "integer" |
56122987 DM |
22773 | }, |
22774 | "name" : { | |
44660702 | 22775 | "description" : "Name of the network device as seen from inside the container. (lxc.network.name)", |
f004f5b9 | 22776 | "format_description" : "string", |
56122987 | 22777 | "pattern" : "[-_.\\w\\d]+", |
44660702 | 22778 | "type" : "string" |
56122987 | 22779 | }, |
44660702 DM |
22780 | "rate" : { |
22781 | "description" : "Apply rate limiting to the interface", | |
22782 | "format_description" : "mbps", | |
56122987 | 22783 | "optional" : 1, |
44660702 | 22784 | "type" : "number" |
7aacca6f | 22785 | }, |
44660702 DM |
22786 | "tag" : { |
22787 | "description" : "VLAN tag for this interface.", | |
4bd7df8b DM |
22788 | "maximum" : 4094, |
22789 | "minimum" : 1, | |
56122987 | 22790 | "optional" : 1, |
7aacca6f | 22791 | "type" : "integer" |
56122987 | 22792 | }, |
44660702 DM |
22793 | "trunks" : { |
22794 | "description" : "VLAN ids to pass through the interface", | |
22795 | "format_description" : "vlanid[;vlanid...]", | |
22796 | "optional" : 1, | |
22797 | "pattern" : "(?^:\\d+(?:;\\d+)*)", | |
22798 | "type" : "string" | |
22799 | }, | |
22800 | "type" : { | |
22801 | "description" : "Network interface type.", | |
22802 | "enum" : [ | |
22803 | "veth" | |
22804 | ], | |
56122987 | 22805 | "optional" : 1, |
44660702 | 22806 | "type" : "string" |
56122987 DM |
22807 | } |
22808 | }, | |
7aacca6f | 22809 | "optional" : 1, |
4bd7df8b | 22810 | "type" : "string", |
2489d6df | 22811 | "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]" |
56122987 | 22812 | }, |
44660702 DM |
22813 | "node" : { |
22814 | "description" : "The cluster node name.", | |
22815 | "format" : "pve-node", | |
013dc89f DM |
22816 | "type" : "string", |
22817 | "typetext" : "<string>" | |
56122987 | 22818 | }, |
44660702 DM |
22819 | "onboot" : { |
22820 | "default" : 0, | |
22821 | "description" : "Specifies whether a VM will be started during system bootup.", | |
56122987 | 22822 | "optional" : 1, |
013dc89f DM |
22823 | "type" : "boolean", |
22824 | "typetext" : "<boolean>" | |
56122987 | 22825 | }, |
44660702 DM |
22826 | "ostype" : { |
22827 | "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.", | |
22828 | "enum" : [ | |
22829 | "debian", | |
22830 | "ubuntu", | |
22831 | "centos", | |
22832 | "fedora", | |
22833 | "opensuse", | |
22834 | "archlinux", | |
22835 | "alpine", | |
57b78691 | 22836 | "gentoo", |
44660702 DM |
22837 | "unmanaged" |
22838 | ], | |
56122987 | 22839 | "optional" : 1, |
44660702 | 22840 | "type" : "string" |
56122987 | 22841 | }, |
44660702 DM |
22842 | "protection" : { |
22843 | "default" : 0, | |
22844 | "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.", | |
56122987 | 22845 | "optional" : 1, |
013dc89f DM |
22846 | "type" : "boolean", |
22847 | "typetext" : "<boolean>" | |
56122987 | 22848 | }, |
1c532546 TL |
22849 | "revert" : { |
22850 | "description" : "Revert a pending change.", | |
22851 | "format" : "pve-configid-list", | |
22852 | "optional" : 1, | |
22853 | "type" : "string", | |
22854 | "typetext" : "<string>" | |
22855 | }, | |
7aacca6f DM |
22856 | "rootfs" : { |
22857 | "description" : "Use volume as container root.", | |
56122987 DM |
22858 | "format" : { |
22859 | "acl" : { | |
44660702 | 22860 | "description" : "Explicitly enable or disable ACL support.", |
7aacca6f DM |
22861 | "optional" : 1, |
22862 | "type" : "boolean" | |
56122987 | 22863 | }, |
7cbed89a TL |
22864 | "mountoptions" : { |
22865 | "description" : "Extra mount options for rootfs/mps.", | |
22866 | "format_description" : "opt[;opt...]", | |
22867 | "optional" : 1, | |
22868 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
22869 | "type" : "string" | |
22870 | }, | |
44660702 DM |
22871 | "quota" : { |
22872 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
44660702 DM |
22873 | "optional" : 1, |
22874 | "type" : "boolean" | |
22875 | }, | |
5d9c884c DM |
22876 | "replicate" : { |
22877 | "default" : 1, | |
22878 | "description" : "Will include this volume to a storage replica job.", | |
22879 | "optional" : 1, | |
22880 | "type" : "boolean" | |
22881 | }, | |
44660702 | 22882 | "ro" : { |
de0983cb | 22883 | "description" : "Read-only mount point", |
56122987 | 22884 | "optional" : 1, |
44660702 DM |
22885 | "type" : "boolean" |
22886 | }, | |
de0983cb DM |
22887 | "shared" : { |
22888 | "default" : 0, | |
22889 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
22890 | "optional" : 1, | |
22891 | "type" : "boolean", | |
22892 | "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!" | |
22893 | }, | |
44660702 | 22894 | "size" : { |
7aacca6f | 22895 | "description" : "Volume size (read only value).", |
44660702 | 22896 | "format" : "disk-size", |
56122987 | 22897 | "format_description" : "DiskSize", |
56122987 | 22898 | "optional" : 1, |
44660702 | 22899 | "type" : "string" |
7aacca6f DM |
22900 | }, |
22901 | "volume" : { | |
7aacca6f DM |
22902 | "default_key" : 1, |
22903 | "description" : "Volume, device or directory to mount into the container.", | |
44660702 DM |
22904 | "format" : "pve-lxc-mp-string", |
22905 | "format_description" : "volume", | |
7aacca6f | 22906 | "type" : "string" |
56122987 | 22907 | } |
44660702 DM |
22908 | }, |
22909 | "optional" : 1, | |
4bd7df8b | 22910 | "type" : "string", |
7cbed89a | 22911 | "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
44660702 DM |
22912 | }, |
22913 | "searchdomain" : { | |
22914 | "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
22915 | "format" : "dns-name-list", | |
22916 | "optional" : 1, | |
013dc89f DM |
22917 | "type" : "string", |
22918 | "typetext" : "<string>" | |
44660702 DM |
22919 | }, |
22920 | "startup" : { | |
22921 | "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.", | |
22922 | "format" : "pve-startup-order", | |
22923 | "optional" : 1, | |
22924 | "type" : "string", | |
22925 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
22926 | }, | |
22927 | "swap" : { | |
22928 | "default" : 512, | |
22929 | "description" : "Amount of SWAP for the VM in MB.", | |
22930 | "minimum" : 0, | |
22931 | "optional" : 1, | |
4bd7df8b | 22932 | "type" : "integer", |
013dc89f | 22933 | "typetext" : "<integer> (0 - N)" |
56122987 | 22934 | }, |
5c1699e5 TL |
22935 | "tags" : { |
22936 | "description" : "Tags of the Container. This is only meta information.", | |
22937 | "format" : "pve-tag-list", | |
22938 | "optional" : 1, | |
22939 | "type" : "string", | |
22940 | "typetext" : "<string>" | |
22941 | }, | |
56122987 | 22942 | "template" : { |
44660702 | 22943 | "default" : 0, |
7aacca6f | 22944 | "description" : "Enable/disable Template.", |
56122987 | 22945 | "optional" : 1, |
013dc89f DM |
22946 | "type" : "boolean", |
22947 | "typetext" : "<boolean>" | |
56122987 | 22948 | }, |
44660702 DM |
22949 | "tty" : { |
22950 | "default" : 2, | |
22951 | "description" : "Specify the number of tty available to the container", | |
22952 | "maximum" : 6, | |
22953 | "minimum" : 0, | |
22954 | "optional" : 1, | |
4bd7df8b | 22955 | "type" : "integer", |
013dc89f | 22956 | "typetext" : "<integer> (0 - 6)" |
56122987 | 22957 | }, |
44660702 DM |
22958 | "unprivileged" : { |
22959 | "default" : 0, | |
22960 | "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)", | |
56122987 | 22961 | "optional" : 1, |
013dc89f DM |
22962 | "type" : "boolean", |
22963 | "typetext" : "<boolean>" | |
56122987 | 22964 | }, |
44660702 | 22965 | "unused[n]" : { |
c2993fe5 | 22966 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
c5aa7e14 TL |
22967 | "format" : { |
22968 | "volume" : { | |
22969 | "default_key" : 1, | |
22970 | "description" : "The volume that is not used currently.", | |
22971 | "format" : "pve-volume-id", | |
22972 | "format_description" : "volume", | |
22973 | "type" : "string" | |
22974 | } | |
22975 | }, | |
56122987 | 22976 | "optional" : 1, |
013dc89f | 22977 | "type" : "string", |
c5aa7e14 | 22978 | "typetext" : "[volume=]<volume>" |
44660702 DM |
22979 | }, |
22980 | "vmid" : { | |
22981 | "description" : "The (unique) ID of the VM.", | |
22982 | "format" : "pve-vmid", | |
22983 | "minimum" : 1, | |
4bd7df8b | 22984 | "type" : "integer", |
013dc89f | 22985 | "typetext" : "<integer> (1 - N)" |
56122987 | 22986 | } |
44660702 | 22987 | } |
56122987 | 22988 | }, |
56122987 DM |
22989 | "permissions" : { |
22990 | "check" : [ | |
22991 | "perm", | |
22992 | "/vms/{vmid}", | |
22993 | [ | |
22994 | "VM.Config.Disk", | |
22995 | "VM.Config.CPU", | |
22996 | "VM.Config.Memory", | |
22997 | "VM.Config.Network", | |
22998 | "VM.Config.Options" | |
22999 | ], | |
23000 | "any", | |
23001 | 1 | |
52e44c50 FG |
23002 | ], |
23003 | "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam" | |
56122987 | 23004 | }, |
44660702 DM |
23005 | "protected" : 1, |
23006 | "proxyto" : "node", | |
56122987 DM |
23007 | "returns" : { |
23008 | "type" : "null" | |
7aacca6f | 23009 | } |
56122987 | 23010 | } |
7aacca6f | 23011 | }, |
44660702 | 23012 | "leaf" : 1, |
7aacca6f | 23013 | "path" : "/nodes/{node}/lxc/{vmid}/config", |
44660702 | 23014 | "text" : "config" |
56122987 DM |
23015 | }, |
23016 | { | |
56122987 DM |
23017 | "children" : [ |
23018 | { | |
23019 | "info" : { | |
23020 | "GET" : { | |
e9cd3bd4 | 23021 | "allowtoken" : 1, |
44660702 | 23022 | "description" : "Get virtual machine status.", |
7aacca6f | 23023 | "method" : "GET", |
44660702 | 23024 | "name" : "vm_status", |
56122987 | 23025 | "parameters" : { |
44660702 | 23026 | "additionalProperties" : 0, |
56122987 | 23027 | "properties" : { |
56122987 | 23028 | "node" : { |
44660702 | 23029 | "description" : "The cluster node name.", |
56122987 | 23030 | "format" : "pve-node", |
013dc89f DM |
23031 | "type" : "string", |
23032 | "typetext" : "<string>" | |
7aacca6f DM |
23033 | }, |
23034 | "vmid" : { | |
23035 | "description" : "The (unique) ID of the VM.", | |
44660702 | 23036 | "format" : "pve-vmid", |
7aacca6f | 23037 | "minimum" : 1, |
4bd7df8b | 23038 | "type" : "integer", |
013dc89f | 23039 | "typetext" : "<integer> (1 - N)" |
56122987 | 23040 | } |
44660702 | 23041 | } |
7aacca6f DM |
23042 | }, |
23043 | "permissions" : { | |
23044 | "check" : [ | |
23045 | "perm", | |
23046 | "/vms/{vmid}", | |
23047 | [ | |
4d47f125 TL |
23048 | "VM.Audit" |
23049 | ] | |
23050 | ] | |
23051 | }, | |
23052 | "protected" : 1, | |
23053 | "proxyto" : "node", | |
23054 | "returns" : { | |
23055 | "properties" : { | |
23056 | "cpus" : { | |
23057 | "description" : "Maximum usable CPUs.", | |
23058 | "optional" : 1, | |
23059 | "type" : "number" | |
23060 | }, | |
23061 | "ha" : { | |
23062 | "description" : "HA manager service status.", | |
23063 | "type" : "object" | |
23064 | }, | |
95895385 TL |
23065 | "lock" : { |
23066 | "description" : "The current config lock, if any.", | |
23067 | "optional" : 1, | |
23068 | "type" : "string" | |
23069 | }, | |
4d47f125 TL |
23070 | "maxdisk" : { |
23071 | "description" : "Root disk size in bytes.", | |
23072 | "optional" : 1, | |
23073 | "renderer" : "bytes", | |
23074 | "type" : "integer" | |
23075 | }, | |
23076 | "maxmem" : { | |
23077 | "description" : "Maximum memory in bytes.", | |
23078 | "optional" : 1, | |
23079 | "renderer" : "bytes", | |
23080 | "type" : "integer" | |
23081 | }, | |
23082 | "maxswap" : { | |
23083 | "description" : "Maximum SWAP memory in bytes.", | |
23084 | "optional" : 1, | |
23085 | "renderer" : "bytes", | |
23086 | "type" : "integer" | |
23087 | }, | |
23088 | "name" : { | |
23089 | "description" : "Container name.", | |
23090 | "optional" : 1, | |
23091 | "type" : "string" | |
23092 | }, | |
23093 | "status" : { | |
23094 | "description" : "LXC Container status.", | |
23095 | "enum" : [ | |
23096 | "stopped", | |
23097 | "running" | |
23098 | ], | |
23099 | "type" : "string" | |
23100 | }, | |
5c1699e5 TL |
23101 | "tags" : { |
23102 | "description" : "The current configured tags, if any.", | |
23103 | "optional" : 1, | |
23104 | "type" : "string" | |
23105 | }, | |
4d47f125 TL |
23106 | "uptime" : { |
23107 | "description" : "Uptime.", | |
23108 | "optional" : 1, | |
23109 | "renderer" : "duration", | |
23110 | "type" : "integer" | |
23111 | }, | |
23112 | "vmid" : { | |
23113 | "description" : "The (unique) ID of the VM.", | |
23114 | "format" : "pve-vmid", | |
23115 | "minimum" : 1, | |
23116 | "type" : "integer" | |
23117 | } | |
23118 | }, | |
23119 | "type" : "object" | |
23120 | } | |
23121 | } | |
23122 | }, | |
23123 | "leaf" : 1, | |
23124 | "path" : "/nodes/{node}/lxc/{vmid}/status/current", | |
23125 | "text" : "current" | |
23126 | }, | |
23127 | { | |
23128 | "info" : { | |
23129 | "POST" : { | |
e9cd3bd4 | 23130 | "allowtoken" : 1, |
4d47f125 TL |
23131 | "description" : "Start the container.", |
23132 | "method" : "POST", | |
23133 | "name" : "vm_start", | |
23134 | "parameters" : { | |
23135 | "additionalProperties" : 0, | |
23136 | "properties" : { | |
23137 | "node" : { | |
23138 | "description" : "The cluster node name.", | |
23139 | "format" : "pve-node", | |
23140 | "type" : "string", | |
23141 | "typetext" : "<string>" | |
23142 | }, | |
23143 | "skiplock" : { | |
23144 | "description" : "Ignore locks - only root is allowed to use this option.", | |
23145 | "optional" : 1, | |
23146 | "type" : "boolean", | |
23147 | "typetext" : "<boolean>" | |
23148 | }, | |
23149 | "vmid" : { | |
23150 | "description" : "The (unique) ID of the VM.", | |
23151 | "format" : "pve-vmid", | |
23152 | "minimum" : 1, | |
23153 | "type" : "integer", | |
23154 | "typetext" : "<integer> (1 - N)" | |
23155 | } | |
23156 | } | |
23157 | }, | |
23158 | "permissions" : { | |
23159 | "check" : [ | |
23160 | "perm", | |
23161 | "/vms/{vmid}", | |
23162 | [ | |
23163 | "VM.PowerMgmt" | |
23164 | ] | |
23165 | ] | |
23166 | }, | |
23167 | "protected" : 1, | |
23168 | "proxyto" : "node", | |
23169 | "returns" : { | |
23170 | "type" : "string" | |
23171 | } | |
23172 | } | |
23173 | }, | |
23174 | "leaf" : 1, | |
23175 | "path" : "/nodes/{node}/lxc/{vmid}/status/start", | |
23176 | "text" : "start" | |
23177 | }, | |
23178 | { | |
23179 | "info" : { | |
23180 | "POST" : { | |
e9cd3bd4 | 23181 | "allowtoken" : 1, |
4d47f125 TL |
23182 | "description" : "Stop the container. This will abruptly stop all processes running in the container.", |
23183 | "method" : "POST", | |
23184 | "name" : "vm_stop", | |
23185 | "parameters" : { | |
23186 | "additionalProperties" : 0, | |
23187 | "properties" : { | |
23188 | "node" : { | |
23189 | "description" : "The cluster node name.", | |
23190 | "format" : "pve-node", | |
23191 | "type" : "string", | |
23192 | "typetext" : "<string>" | |
23193 | }, | |
23194 | "skiplock" : { | |
23195 | "description" : "Ignore locks - only root is allowed to use this option.", | |
23196 | "optional" : 1, | |
23197 | "type" : "boolean", | |
23198 | "typetext" : "<boolean>" | |
23199 | }, | |
23200 | "vmid" : { | |
23201 | "description" : "The (unique) ID of the VM.", | |
23202 | "format" : "pve-vmid", | |
23203 | "minimum" : 1, | |
23204 | "type" : "integer", | |
23205 | "typetext" : "<integer> (1 - N)" | |
23206 | } | |
23207 | } | |
23208 | }, | |
23209 | "permissions" : { | |
23210 | "check" : [ | |
23211 | "perm", | |
23212 | "/vms/{vmid}", | |
23213 | [ | |
23214 | "VM.PowerMgmt" | |
23215 | ] | |
23216 | ] | |
23217 | }, | |
23218 | "protected" : 1, | |
23219 | "proxyto" : "node", | |
23220 | "returns" : { | |
23221 | "type" : "string" | |
23222 | } | |
23223 | } | |
23224 | }, | |
23225 | "leaf" : 1, | |
23226 | "path" : "/nodes/{node}/lxc/{vmid}/status/stop", | |
23227 | "text" : "stop" | |
23228 | }, | |
23229 | { | |
23230 | "info" : { | |
23231 | "POST" : { | |
e9cd3bd4 | 23232 | "allowtoken" : 1, |
4d47f125 TL |
23233 | "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.", |
23234 | "method" : "POST", | |
23235 | "name" : "vm_shutdown", | |
23236 | "parameters" : { | |
23237 | "additionalProperties" : 0, | |
23238 | "properties" : { | |
23239 | "forceStop" : { | |
23240 | "default" : 0, | |
23241 | "description" : "Make sure the Container stops.", | |
23242 | "optional" : 1, | |
23243 | "type" : "boolean", | |
23244 | "typetext" : "<boolean>" | |
23245 | }, | |
23246 | "node" : { | |
23247 | "description" : "The cluster node name.", | |
23248 | "format" : "pve-node", | |
23249 | "type" : "string", | |
23250 | "typetext" : "<string>" | |
23251 | }, | |
23252 | "timeout" : { | |
23253 | "default" : 60, | |
23254 | "description" : "Wait maximal timeout seconds.", | |
23255 | "minimum" : 0, | |
23256 | "optional" : 1, | |
23257 | "type" : "integer", | |
23258 | "typetext" : "<integer> (0 - N)" | |
23259 | }, | |
23260 | "vmid" : { | |
23261 | "description" : "The (unique) ID of the VM.", | |
23262 | "format" : "pve-vmid", | |
23263 | "minimum" : 1, | |
23264 | "type" : "integer", | |
23265 | "typetext" : "<integer> (1 - N)" | |
23266 | } | |
23267 | } | |
23268 | }, | |
23269 | "permissions" : { | |
23270 | "check" : [ | |
23271 | "perm", | |
23272 | "/vms/{vmid}", | |
23273 | [ | |
23274 | "VM.PowerMgmt" | |
7aacca6f DM |
23275 | ] |
23276 | ] | |
23277 | }, | |
44660702 | 23278 | "protected" : 1, |
7aacca6f | 23279 | "proxyto" : "node", |
44660702 | 23280 | "returns" : { |
4d47f125 | 23281 | "type" : "string" |
44660702 | 23282 | } |
56122987 DM |
23283 | } |
23284 | }, | |
44660702 | 23285 | "leaf" : 1, |
4d47f125 TL |
23286 | "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown", |
23287 | "text" : "shutdown" | |
56122987 DM |
23288 | }, |
23289 | { | |
56122987 DM |
23290 | "info" : { |
23291 | "POST" : { | |
e9cd3bd4 | 23292 | "allowtoken" : 1, |
4d47f125 | 23293 | "description" : "Suspend the container.", |
44660702 | 23294 | "method" : "POST", |
4d47f125 | 23295 | "name" : "vm_suspend", |
56122987 DM |
23296 | "parameters" : { |
23297 | "additionalProperties" : 0, | |
23298 | "properties" : { | |
56122987 | 23299 | "node" : { |
7aacca6f | 23300 | "description" : "The cluster node name.", |
44660702 | 23301 | "format" : "pve-node", |
013dc89f DM |
23302 | "type" : "string", |
23303 | "typetext" : "<string>" | |
56122987 DM |
23304 | }, |
23305 | "vmid" : { | |
7aacca6f | 23306 | "description" : "The (unique) ID of the VM.", |
44660702 | 23307 | "format" : "pve-vmid", |
56122987 | 23308 | "minimum" : 1, |
4bd7df8b | 23309 | "type" : "integer", |
013dc89f | 23310 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
23311 | } |
23312 | } | |
23313 | }, | |
23314 | "permissions" : { | |
23315 | "check" : [ | |
23316 | "perm", | |
23317 | "/vms/{vmid}", | |
23318 | [ | |
23319 | "VM.PowerMgmt" | |
23320 | ] | |
23321 | ] | |
23322 | }, | |
44660702 | 23323 | "protected" : 1, |
7aacca6f | 23324 | "proxyto" : "node", |
44660702 DM |
23325 | "returns" : { |
23326 | "type" : "string" | |
23327 | } | |
23328 | } | |
23329 | }, | |
23330 | "leaf" : 1, | |
4d47f125 TL |
23331 | "path" : "/nodes/{node}/lxc/{vmid}/status/suspend", |
23332 | "text" : "suspend" | |
44660702 DM |
23333 | }, |
23334 | { | |
23335 | "info" : { | |
23336 | "POST" : { | |
e9cd3bd4 | 23337 | "allowtoken" : 1, |
4d47f125 | 23338 | "description" : "Resume the container.", |
7aacca6f | 23339 | "method" : "POST", |
4d47f125 | 23340 | "name" : "vm_resume", |
7aacca6f | 23341 | "parameters" : { |
44660702 | 23342 | "additionalProperties" : 0, |
7aacca6f | 23343 | "properties" : { |
44660702 DM |
23344 | "node" : { |
23345 | "description" : "The cluster node name.", | |
23346 | "format" : "pve-node", | |
013dc89f DM |
23347 | "type" : "string", |
23348 | "typetext" : "<string>" | |
44660702 | 23349 | }, |
7aacca6f | 23350 | "vmid" : { |
44660702 | 23351 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
23352 | "format" : "pve-vmid", |
23353 | "minimum" : 1, | |
4bd7df8b | 23354 | "type" : "integer", |
013dc89f | 23355 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 23356 | } |
44660702 DM |
23357 | } |
23358 | }, | |
23359 | "permissions" : { | |
23360 | "check" : [ | |
23361 | "perm", | |
23362 | "/vms/{vmid}", | |
23363 | [ | |
23364 | "VM.PowerMgmt" | |
23365 | ] | |
23366 | ] | |
7aacca6f | 23367 | }, |
44660702 DM |
23368 | "protected" : 1, |
23369 | "proxyto" : "node", | |
23370 | "returns" : { | |
23371 | "type" : "string" | |
23372 | } | |
56122987 | 23373 | } |
7aacca6f | 23374 | }, |
7aacca6f | 23375 | "leaf" : 1, |
4d47f125 TL |
23376 | "path" : "/nodes/{node}/lxc/{vmid}/status/resume", |
23377 | "text" : "resume" | |
5c1699e5 TL |
23378 | }, |
23379 | { | |
23380 | "info" : { | |
23381 | "POST" : { | |
e9cd3bd4 | 23382 | "allowtoken" : 1, |
5c1699e5 TL |
23383 | "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.", |
23384 | "method" : "POST", | |
23385 | "name" : "vm_reboot", | |
23386 | "parameters" : { | |
23387 | "additionalProperties" : 0, | |
23388 | "properties" : { | |
23389 | "node" : { | |
23390 | "description" : "The cluster node name.", | |
23391 | "format" : "pve-node", | |
23392 | "type" : "string", | |
23393 | "typetext" : "<string>" | |
23394 | }, | |
23395 | "timeout" : { | |
23396 | "description" : "Wait maximal timeout seconds for the shutdown.", | |
23397 | "minimum" : 0, | |
23398 | "optional" : 1, | |
23399 | "type" : "integer", | |
23400 | "typetext" : "<integer> (0 - N)" | |
23401 | }, | |
23402 | "vmid" : { | |
23403 | "description" : "The (unique) ID of the VM.", | |
23404 | "format" : "pve-vmid", | |
23405 | "minimum" : 1, | |
23406 | "type" : "integer", | |
23407 | "typetext" : "<integer> (1 - N)" | |
23408 | } | |
23409 | } | |
23410 | }, | |
23411 | "permissions" : { | |
23412 | "check" : [ | |
23413 | "perm", | |
23414 | "/vms/{vmid}", | |
23415 | [ | |
23416 | "VM.PowerMgmt" | |
23417 | ] | |
23418 | ] | |
23419 | }, | |
23420 | "protected" : 1, | |
23421 | "proxyto" : "node", | |
23422 | "returns" : { | |
23423 | "type" : "string" | |
23424 | } | |
23425 | } | |
23426 | }, | |
23427 | "leaf" : 1, | |
23428 | "path" : "/nodes/{node}/lxc/{vmid}/status/reboot", | |
23429 | "text" : "reboot" | |
4d47f125 TL |
23430 | } |
23431 | ], | |
23432 | "info" : { | |
23433 | "GET" : { | |
e9cd3bd4 | 23434 | "allowtoken" : 1, |
4d47f125 TL |
23435 | "description" : "Directory index", |
23436 | "method" : "GET", | |
23437 | "name" : "vmcmdidx", | |
23438 | "parameters" : { | |
23439 | "additionalProperties" : 0, | |
23440 | "properties" : { | |
23441 | "node" : { | |
23442 | "description" : "The cluster node name.", | |
23443 | "format" : "pve-node", | |
23444 | "type" : "string", | |
23445 | "typetext" : "<string>" | |
23446 | }, | |
23447 | "vmid" : { | |
23448 | "description" : "The (unique) ID of the VM.", | |
23449 | "format" : "pve-vmid", | |
23450 | "minimum" : 1, | |
23451 | "type" : "integer", | |
23452 | "typetext" : "<integer> (1 - N)" | |
23453 | } | |
23454 | } | |
23455 | }, | |
23456 | "permissions" : { | |
23457 | "user" : "all" | |
23458 | }, | |
23459 | "proxyto" : "node", | |
23460 | "returns" : { | |
23461 | "items" : { | |
23462 | "properties" : { | |
23463 | "subdir" : { | |
23464 | "type" : "string" | |
23465 | } | |
23466 | }, | |
23467 | "type" : "object" | |
23468 | }, | |
23469 | "links" : [ | |
23470 | { | |
23471 | "href" : "{subdir}", | |
23472 | "rel" : "child" | |
23473 | } | |
23474 | ], | |
23475 | "type" : "array" | |
23476 | } | |
23477 | } | |
23478 | }, | |
23479 | "leaf" : 0, | |
23480 | "path" : "/nodes/{node}/lxc/{vmid}/status", | |
23481 | "text" : "status" | |
23482 | }, | |
23483 | { | |
23484 | "children" : [ | |
56122987 | 23485 | { |
4d47f125 TL |
23486 | "children" : [ |
23487 | { | |
23488 | "info" : { | |
23489 | "POST" : { | |
e9cd3bd4 | 23490 | "allowtoken" : 1, |
4d47f125 TL |
23491 | "description" : "Rollback LXC state to specified snapshot.", |
23492 | "method" : "POST", | |
23493 | "name" : "rollback", | |
23494 | "parameters" : { | |
23495 | "additionalProperties" : 0, | |
23496 | "properties" : { | |
23497 | "node" : { | |
23498 | "description" : "The cluster node name.", | |
23499 | "format" : "pve-node", | |
23500 | "type" : "string", | |
23501 | "typetext" : "<string>" | |
23502 | }, | |
23503 | "snapname" : { | |
23504 | "description" : "The name of the snapshot.", | |
23505 | "format" : "pve-configid", | |
23506 | "maxLength" : 40, | |
23507 | "type" : "string", | |
23508 | "typetext" : "<string>" | |
23509 | }, | |
23510 | "vmid" : { | |
23511 | "description" : "The (unique) ID of the VM.", | |
23512 | "format" : "pve-vmid", | |
23513 | "minimum" : 1, | |
23514 | "type" : "integer", | |
23515 | "typetext" : "<integer> (1 - N)" | |
23516 | } | |
23517 | } | |
23518 | }, | |
23519 | "permissions" : { | |
23520 | "check" : [ | |
23521 | "perm", | |
23522 | "/vms/{vmid}", | |
23523 | [ | |
23524 | "VM.Snapshot", | |
23525 | "VM.Snapshot.Rollback" | |
23526 | ], | |
23527 | "any", | |
23528 | 1 | |
23529 | ] | |
23530 | }, | |
23531 | "protected" : 1, | |
23532 | "proxyto" : "node", | |
23533 | "returns" : { | |
23534 | "description" : "the task ID.", | |
23535 | "type" : "string" | |
23536 | } | |
23537 | } | |
23538 | }, | |
23539 | "leaf" : 1, | |
23540 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback", | |
23541 | "text" : "rollback" | |
23542 | }, | |
23543 | { | |
23544 | "info" : { | |
23545 | "GET" : { | |
e9cd3bd4 | 23546 | "allowtoken" : 1, |
4d47f125 TL |
23547 | "description" : "Get snapshot configuration", |
23548 | "method" : "GET", | |
23549 | "name" : "get_snapshot_config", | |
23550 | "parameters" : { | |
23551 | "additionalProperties" : 0, | |
23552 | "properties" : { | |
23553 | "node" : { | |
23554 | "description" : "The cluster node name.", | |
23555 | "format" : "pve-node", | |
23556 | "type" : "string", | |
23557 | "typetext" : "<string>" | |
23558 | }, | |
23559 | "snapname" : { | |
23560 | "description" : "The name of the snapshot.", | |
23561 | "format" : "pve-configid", | |
23562 | "maxLength" : 40, | |
23563 | "type" : "string", | |
23564 | "typetext" : "<string>" | |
23565 | }, | |
23566 | "vmid" : { | |
23567 | "description" : "The (unique) ID of the VM.", | |
23568 | "format" : "pve-vmid", | |
23569 | "minimum" : 1, | |
23570 | "type" : "integer", | |
23571 | "typetext" : "<integer> (1 - N)" | |
23572 | } | |
23573 | } | |
23574 | }, | |
23575 | "permissions" : { | |
23576 | "check" : [ | |
23577 | "perm", | |
23578 | "/vms/{vmid}", | |
23579 | [ | |
23580 | "VM.Snapshot", | |
c5aa7e14 TL |
23581 | "VM.Snapshot.Rollback", |
23582 | "VM.Audit" | |
4d47f125 TL |
23583 | ], |
23584 | "any", | |
23585 | 1 | |
23586 | ] | |
23587 | }, | |
23588 | "proxyto" : "node", | |
23589 | "returns" : { | |
23590 | "type" : "object" | |
23591 | } | |
23592 | }, | |
23593 | "PUT" : { | |
e9cd3bd4 | 23594 | "allowtoken" : 1, |
4d47f125 TL |
23595 | "description" : "Update snapshot metadata.", |
23596 | "method" : "PUT", | |
23597 | "name" : "update_snapshot_config", | |
23598 | "parameters" : { | |
23599 | "additionalProperties" : 0, | |
23600 | "properties" : { | |
23601 | "description" : { | |
23602 | "description" : "A textual description or comment.", | |
23603 | "optional" : 1, | |
23604 | "type" : "string", | |
23605 | "typetext" : "<string>" | |
23606 | }, | |
23607 | "node" : { | |
23608 | "description" : "The cluster node name.", | |
23609 | "format" : "pve-node", | |
23610 | "type" : "string", | |
23611 | "typetext" : "<string>" | |
23612 | }, | |
23613 | "snapname" : { | |
23614 | "description" : "The name of the snapshot.", | |
23615 | "format" : "pve-configid", | |
23616 | "maxLength" : 40, | |
23617 | "type" : "string", | |
23618 | "typetext" : "<string>" | |
23619 | }, | |
23620 | "vmid" : { | |
23621 | "description" : "The (unique) ID of the VM.", | |
23622 | "format" : "pve-vmid", | |
23623 | "minimum" : 1, | |
23624 | "type" : "integer", | |
23625 | "typetext" : "<integer> (1 - N)" | |
23626 | } | |
23627 | } | |
23628 | }, | |
23629 | "permissions" : { | |
23630 | "check" : [ | |
23631 | "perm", | |
23632 | "/vms/{vmid}", | |
23633 | [ | |
23634 | "VM.Snapshot" | |
23635 | ] | |
23636 | ] | |
23637 | }, | |
23638 | "protected" : 1, | |
23639 | "proxyto" : "node", | |
23640 | "returns" : { | |
23641 | "type" : "null" | |
23642 | } | |
23643 | } | |
23644 | }, | |
23645 | "leaf" : 1, | |
23646 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config", | |
23647 | "text" : "config" | |
23648 | } | |
23649 | ], | |
56122987 | 23650 | "info" : { |
4d47f125 | 23651 | "DELETE" : { |
e9cd3bd4 | 23652 | "allowtoken" : 1, |
4d47f125 TL |
23653 | "description" : "Delete a LXC snapshot.", |
23654 | "method" : "DELETE", | |
23655 | "name" : "delsnapshot", | |
56122987 | 23656 | "parameters" : { |
44660702 | 23657 | "additionalProperties" : 0, |
56122987 | 23658 | "properties" : { |
4d47f125 TL |
23659 | "force" : { |
23660 | "description" : "For removal from config file, even if removing disk snapshots fails.", | |
7aacca6f | 23661 | "optional" : 1, |
013dc89f DM |
23662 | "type" : "boolean", |
23663 | "typetext" : "<boolean>" | |
44660702 DM |
23664 | }, |
23665 | "node" : { | |
23666 | "description" : "The cluster node name.", | |
23667 | "format" : "pve-node", | |
013dc89f DM |
23668 | "type" : "string", |
23669 | "typetext" : "<string>" | |
7aacca6f | 23670 | }, |
4d47f125 TL |
23671 | "snapname" : { |
23672 | "description" : "The name of the snapshot.", | |
23673 | "format" : "pve-configid", | |
23674 | "maxLength" : 40, | |
23675 | "type" : "string", | |
23676 | "typetext" : "<string>" | |
56122987 DM |
23677 | }, |
23678 | "vmid" : { | |
7aacca6f | 23679 | "description" : "The (unique) ID of the VM.", |
44660702 DM |
23680 | "format" : "pve-vmid", |
23681 | "minimum" : 1, | |
4bd7df8b | 23682 | "type" : "integer", |
013dc89f | 23683 | "typetext" : "<integer> (1 - N)" |
56122987 | 23684 | } |
44660702 | 23685 | } |
56122987 DM |
23686 | }, |
23687 | "permissions" : { | |
23688 | "check" : [ | |
23689 | "perm", | |
23690 | "/vms/{vmid}", | |
23691 | [ | |
4d47f125 | 23692 | "VM.Snapshot" |
56122987 DM |
23693 | ] |
23694 | ] | |
23695 | }, | |
44660702 DM |
23696 | "protected" : 1, |
23697 | "proxyto" : "node", | |
7aacca6f | 23698 | "returns" : { |
4d47f125 | 23699 | "description" : "the task ID.", |
7aacca6f DM |
23700 | "type" : "string" |
23701 | } | |
4d47f125 TL |
23702 | }, |
23703 | "GET" : { | |
e9cd3bd4 | 23704 | "allowtoken" : 1, |
4d47f125 TL |
23705 | "description" : "", |
23706 | "method" : "GET", | |
23707 | "name" : "snapshot_cmd_idx", | |
56122987 DM |
23708 | "parameters" : { |
23709 | "additionalProperties" : 0, | |
23710 | "properties" : { | |
44660702 DM |
23711 | "node" : { |
23712 | "description" : "The cluster node name.", | |
23713 | "format" : "pve-node", | |
013dc89f DM |
23714 | "type" : "string", |
23715 | "typetext" : "<string>" | |
44660702 | 23716 | }, |
4d47f125 TL |
23717 | "snapname" : { |
23718 | "description" : "The name of the snapshot.", | |
23719 | "format" : "pve-configid", | |
23720 | "maxLength" : 40, | |
013dc89f DM |
23721 | "type" : "string", |
23722 | "typetext" : "<string>" | |
56122987 DM |
23723 | }, |
23724 | "vmid" : { | |
7aacca6f | 23725 | "description" : "The (unique) ID of the VM.", |
56122987 | 23726 | "format" : "pve-vmid", |
44660702 | 23727 | "minimum" : 1, |
4bd7df8b | 23728 | "type" : "integer", |
013dc89f | 23729 | "typetext" : "<integer> (1 - N)" |
56122987 | 23730 | } |
44660702 DM |
23731 | } |
23732 | }, | |
23733 | "permissions" : { | |
4d47f125 | 23734 | "user" : "all" |
56122987 | 23735 | }, |
44660702 | 23736 | "returns" : { |
4d47f125 TL |
23737 | "items" : { |
23738 | "properties" : {}, | |
23739 | "type" : "object" | |
23740 | }, | |
23741 | "links" : [ | |
23742 | { | |
23743 | "href" : "{cmd}", | |
23744 | "rel" : "child" | |
23745 | } | |
23746 | ], | |
23747 | "type" : "array" | |
44660702 | 23748 | } |
7aacca6f DM |
23749 | } |
23750 | }, | |
4d47f125 TL |
23751 | "leaf" : 0, |
23752 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}", | |
23753 | "text" : "{snapname}" | |
7aacca6f DM |
23754 | } |
23755 | ], | |
23756 | "info" : { | |
23757 | "GET" : { | |
e9cd3bd4 | 23758 | "allowtoken" : 1, |
4d47f125 | 23759 | "description" : "List all snapshots.", |
44660702 | 23760 | "method" : "GET", |
4d47f125 | 23761 | "name" : "list", |
7aacca6f DM |
23762 | "parameters" : { |
23763 | "additionalProperties" : 0, | |
23764 | "properties" : { | |
23765 | "node" : { | |
23766 | "description" : "The cluster node name.", | |
44660702 | 23767 | "format" : "pve-node", |
013dc89f DM |
23768 | "type" : "string", |
23769 | "typetext" : "<string>" | |
56122987 | 23770 | }, |
7aacca6f | 23771 | "vmid" : { |
44660702 | 23772 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
23773 | "format" : "pve-vmid", |
23774 | "minimum" : 1, | |
4bd7df8b | 23775 | "type" : "integer", |
013dc89f | 23776 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 23777 | } |
56122987 DM |
23778 | } |
23779 | }, | |
44660702 | 23780 | "permissions" : { |
4d47f125 TL |
23781 | "check" : [ |
23782 | "perm", | |
23783 | "/vms/{vmid}", | |
23784 | [ | |
23785 | "VM.Audit" | |
23786 | ] | |
23787 | ] | |
44660702 | 23788 | }, |
4d47f125 | 23789 | "protected" : 1, |
44660702 | 23790 | "proxyto" : "node", |
7aacca6f | 23791 | "returns" : { |
7aacca6f DM |
23792 | "items" : { |
23793 | "properties" : { | |
4d47f125 TL |
23794 | "description" : { |
23795 | "description" : "Snapshot description.", | |
7aacca6f | 23796 | "type" : "string" |
4d47f125 TL |
23797 | }, |
23798 | "name" : { | |
23799 | "description" : "Snapshot identifier. Value 'current' identifies the current VM.", | |
23800 | "type" : "string" | |
23801 | }, | |
23802 | "parent" : { | |
23803 | "description" : "Parent snapshot identifier.", | |
23804 | "optional" : 1, | |
23805 | "type" : "string" | |
23806 | }, | |
23807 | "snaptime" : { | |
23808 | "description" : "Snapshot creation time", | |
23809 | "optional" : 1, | |
23810 | "renderer" : "timestamp", | |
23811 | "type" : "integer" | |
7aacca6f DM |
23812 | } |
23813 | }, | |
23814 | "type" : "object" | |
23815 | }, | |
23816 | "links" : [ | |
23817 | { | |
4d47f125 | 23818 | "href" : "{name}", |
44660702 | 23819 | "rel" : "child" |
7aacca6f | 23820 | } |
44660702 DM |
23821 | ], |
23822 | "type" : "array" | |
7aacca6f | 23823 | } |
4d47f125 TL |
23824 | }, |
23825 | "POST" : { | |
e9cd3bd4 | 23826 | "allowtoken" : 1, |
4d47f125 TL |
23827 | "description" : "Snapshot a container.", |
23828 | "method" : "POST", | |
23829 | "name" : "snapshot", | |
23830 | "parameters" : { | |
23831 | "additionalProperties" : 0, | |
23832 | "properties" : { | |
23833 | "description" : { | |
23834 | "description" : "A textual description or comment.", | |
23835 | "optional" : 1, | |
23836 | "type" : "string", | |
23837 | "typetext" : "<string>" | |
23838 | }, | |
23839 | "node" : { | |
23840 | "description" : "The cluster node name.", | |
23841 | "format" : "pve-node", | |
23842 | "type" : "string", | |
23843 | "typetext" : "<string>" | |
23844 | }, | |
23845 | "snapname" : { | |
23846 | "description" : "The name of the snapshot.", | |
23847 | "format" : "pve-configid", | |
23848 | "maxLength" : 40, | |
23849 | "type" : "string", | |
23850 | "typetext" : "<string>" | |
23851 | }, | |
23852 | "vmid" : { | |
23853 | "description" : "The (unique) ID of the VM.", | |
23854 | "format" : "pve-vmid", | |
23855 | "minimum" : 1, | |
23856 | "type" : "integer", | |
23857 | "typetext" : "<integer> (1 - N)" | |
23858 | } | |
23859 | } | |
23860 | }, | |
23861 | "permissions" : { | |
23862 | "check" : [ | |
23863 | "perm", | |
23864 | "/vms/{vmid}", | |
23865 | [ | |
23866 | "VM.Snapshot" | |
23867 | ] | |
23868 | ] | |
23869 | }, | |
23870 | "protected" : 1, | |
23871 | "proxyto" : "node", | |
23872 | "returns" : { | |
23873 | "description" : "the task ID.", | |
23874 | "type" : "string" | |
23875 | } | |
7aacca6f | 23876 | } |
44660702 DM |
23877 | }, |
23878 | "leaf" : 0, | |
4d47f125 TL |
23879 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot", |
23880 | "text" : "snapshot" | |
7aacca6f DM |
23881 | }, |
23882 | { | |
7aacca6f | 23883 | "children" : [ |
56122987 | 23884 | { |
7aacca6f DM |
23885 | "children" : [ |
23886 | { | |
23887 | "info" : { | |
4d47f125 | 23888 | "DELETE" : { |
e9cd3bd4 | 23889 | "allowtoken" : 1, |
4d47f125 TL |
23890 | "description" : "Delete rule.", |
23891 | "method" : "DELETE", | |
23892 | "name" : "delete_rule", | |
7aacca6f | 23893 | "parameters" : { |
44660702 | 23894 | "additionalProperties" : 0, |
7aacca6f | 23895 | "properties" : { |
4d47f125 TL |
23896 | "digest" : { |
23897 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
23898 | "maxLength" : 40, | |
23899 | "optional" : 1, | |
23900 | "type" : "string", | |
23901 | "typetext" : "<string>" | |
23902 | }, | |
44660702 DM |
23903 | "node" : { |
23904 | "description" : "The cluster node name.", | |
23905 | "format" : "pve-node", | |
013dc89f DM |
23906 | "type" : "string", |
23907 | "typetext" : "<string>" | |
44660702 | 23908 | }, |
4d47f125 TL |
23909 | "pos" : { |
23910 | "description" : "Update rule at position <pos>.", | |
23911 | "minimum" : 0, | |
23912 | "optional" : 1, | |
23913 | "type" : "integer", | |
23914 | "typetext" : "<integer> (0 - N)" | |
7aacca6f | 23915 | }, |
7aacca6f | 23916 | "vmid" : { |
44660702 | 23917 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 23918 | "format" : "pve-vmid", |
44660702 | 23919 | "minimum" : 1, |
4bd7df8b | 23920 | "type" : "integer", |
013dc89f | 23921 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 23922 | } |
44660702 DM |
23923 | } |
23924 | }, | |
23925 | "permissions" : { | |
23926 | "check" : [ | |
23927 | "perm", | |
23928 | "/vms/{vmid}", | |
23929 | [ | |
4d47f125 TL |
23930 | "VM.Config.Network" |
23931 | ] | |
44660702 | 23932 | ] |
7aacca6f | 23933 | }, |
44660702 | 23934 | "protected" : 1, |
4d47f125 | 23935 | "proxyto" : null, |
44660702 | 23936 | "returns" : { |
4d47f125 | 23937 | "type" : "null" |
44660702 | 23938 | } |
4d47f125 | 23939 | }, |
7aacca6f | 23940 | "GET" : { |
e9cd3bd4 | 23941 | "allowtoken" : 1, |
4d47f125 | 23942 | "description" : "Get single rule data.", |
44660702 | 23943 | "method" : "GET", |
4d47f125 | 23944 | "name" : "get_rule", |
7aacca6f DM |
23945 | "parameters" : { |
23946 | "additionalProperties" : 0, | |
4d47f125 TL |
23947 | "properties" : { |
23948 | "node" : { | |
23949 | "description" : "The cluster node name.", | |
23950 | "format" : "pve-node", | |
013dc89f DM |
23951 | "type" : "string", |
23952 | "typetext" : "<string>" | |
44660702 | 23953 | }, |
4d47f125 TL |
23954 | "pos" : { |
23955 | "description" : "Update rule at position <pos>.", | |
23956 | "minimum" : 0, | |
23957 | "optional" : 1, | |
23958 | "type" : "integer", | |
23959 | "typetext" : "<integer> (0 - N)" | |
23960 | }, | |
44660702 DM |
23961 | "vmid" : { |
23962 | "description" : "The (unique) ID of the VM.", | |
23963 | "format" : "pve-vmid", | |
23964 | "minimum" : 1, | |
4bd7df8b | 23965 | "type" : "integer", |
013dc89f | 23966 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
23967 | } |
23968 | } | |
23969 | }, | |
23970 | "permissions" : { | |
23971 | "check" : [ | |
23972 | "perm", | |
23973 | "/vms/{vmid}", | |
23974 | [ | |
4d47f125 TL |
23975 | "VM.Audit" |
23976 | ] | |
7aacca6f DM |
23977 | ] |
23978 | }, | |
4d47f125 | 23979 | "proxyto" : null, |
44660702 | 23980 | "returns" : { |
4d47f125 | 23981 | "properties" : { |
e2d681b3 TL |
23982 | "action" : { |
23983 | "type" : "string" | |
23984 | }, | |
23985 | "comment" : { | |
23986 | "optional" : 1, | |
23987 | "type" : "string" | |
23988 | }, | |
23989 | "dest" : { | |
23990 | "optional" : 1, | |
23991 | "type" : "string" | |
23992 | }, | |
23993 | "dport" : { | |
23994 | "optional" : 1, | |
23995 | "type" : "string" | |
23996 | }, | |
23997 | "enable" : { | |
23998 | "optional" : 1, | |
23999 | "type" : "integer" | |
24000 | }, | |
24001 | "iface" : { | |
24002 | "optional" : 1, | |
24003 | "type" : "string" | |
24004 | }, | |
24005 | "ipversion" : { | |
24006 | "optional" : 1, | |
24007 | "type" : "integer" | |
24008 | }, | |
95895385 TL |
24009 | "log" : { |
24010 | "description" : "Log level for firewall rule", | |
24011 | "enum" : [ | |
24012 | "emerg", | |
24013 | "alert", | |
24014 | "crit", | |
24015 | "err", | |
24016 | "warning", | |
24017 | "notice", | |
24018 | "info", | |
24019 | "debug", | |
24020 | "nolog" | |
24021 | ], | |
24022 | "optional" : 1, | |
24023 | "type" : "string" | |
24024 | }, | |
e2d681b3 TL |
24025 | "macro" : { |
24026 | "optional" : 1, | |
5f26e15b | 24027 | "type" : "string" |
e2d681b3 | 24028 | }, |
4d47f125 TL |
24029 | "pos" : { |
24030 | "type" : "integer" | |
e2d681b3 TL |
24031 | }, |
24032 | "proto" : { | |
24033 | "optional" : 1, | |
24034 | "type" : "string" | |
24035 | }, | |
24036 | "source" : { | |
24037 | "optional" : 1, | |
24038 | "type" : "string" | |
24039 | }, | |
24040 | "sport" : { | |
24041 | "optional" : 1, | |
24042 | "type" : "string" | |
24043 | }, | |
24044 | "type" : { | |
24045 | "type" : "string" | |
4d47f125 TL |
24046 | } |
24047 | }, | |
44660702 DM |
24048 | "type" : "object" |
24049 | } | |
7aacca6f DM |
24050 | }, |
24051 | "PUT" : { | |
e9cd3bd4 | 24052 | "allowtoken" : 1, |
4d47f125 | 24053 | "description" : "Modify rule data.", |
44660702 | 24054 | "method" : "PUT", |
4d47f125 | 24055 | "name" : "update_rule", |
7aacca6f DM |
24056 | "parameters" : { |
24057 | "additionalProperties" : 0, | |
24058 | "properties" : { | |
4d47f125 TL |
24059 | "action" : { |
24060 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
24061 | "maxLength" : 20, | |
24062 | "minLength" : 2, | |
24063 | "optional" : 1, | |
24064 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24065 | "type" : "string" | |
24066 | }, | |
24067 | "comment" : { | |
24068 | "description" : "Descriptive comment.", | |
24069 | "optional" : 1, | |
24070 | "type" : "string", | |
24071 | "typetext" : "<string>" | |
24072 | }, | |
24073 | "delete" : { | |
24074 | "description" : "A list of settings you want to delete.", | |
24075 | "format" : "pve-configid-list", | |
24076 | "optional" : 1, | |
24077 | "type" : "string", | |
24078 | "typetext" : "<string>" | |
24079 | }, | |
24080 | "dest" : { | |
24081 | "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.", | |
24082 | "format" : "pve-fw-addr-spec", | |
24083 | "optional" : 1, | |
24084 | "type" : "string", | |
24085 | "typetext" : "<string>" | |
24086 | }, | |
24087 | "digest" : { | |
24088 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24089 | "maxLength" : 40, | |
24090 | "optional" : 1, | |
24091 | "type" : "string", | |
24092 | "typetext" : "<string>" | |
24093 | }, | |
24094 | "dport" : { | |
24095 | "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.", | |
24096 | "format" : "pve-fw-dport-spec", | |
24097 | "optional" : 1, | |
24098 | "type" : "string", | |
24099 | "typetext" : "<string>" | |
24100 | }, | |
24101 | "enable" : { | |
24102 | "description" : "Flag to enable/disable a rule.", | |
24103 | "minimum" : 0, | |
24104 | "optional" : 1, | |
24105 | "type" : "integer", | |
24106 | "typetext" : "<integer> (0 - N)" | |
24107 | }, | |
24108 | "iface" : { | |
24109 | "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.", | |
24110 | "format" : "pve-iface", | |
24111 | "maxLength" : 20, | |
24112 | "minLength" : 2, | |
24113 | "optional" : 1, | |
24114 | "type" : "string", | |
24115 | "typetext" : "<string>" | |
24116 | }, | |
95895385 TL |
24117 | "log" : { |
24118 | "description" : "Log level for firewall rule.", | |
24119 | "enum" : [ | |
24120 | "emerg", | |
24121 | "alert", | |
24122 | "crit", | |
24123 | "err", | |
24124 | "warning", | |
24125 | "notice", | |
24126 | "info", | |
24127 | "debug", | |
24128 | "nolog" | |
24129 | ], | |
24130 | "optional" : 1, | |
24131 | "type" : "string" | |
24132 | }, | |
4d47f125 TL |
24133 | "macro" : { |
24134 | "description" : "Use predefined standard macro.", | |
24135 | "maxLength" : 128, | |
44660702 | 24136 | "optional" : 1, |
013dc89f DM |
24137 | "type" : "string", |
24138 | "typetext" : "<string>" | |
44660702 | 24139 | }, |
4d47f125 TL |
24140 | "moveto" : { |
24141 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
24142 | "minimum" : 0, | |
24143 | "optional" : 1, | |
24144 | "type" : "integer", | |
24145 | "typetext" : "<integer> (0 - N)" | |
24146 | }, | |
7aacca6f | 24147 | "node" : { |
7aacca6f | 24148 | "description" : "The cluster node name.", |
44660702 | 24149 | "format" : "pve-node", |
013dc89f DM |
24150 | "type" : "string", |
24151 | "typetext" : "<string>" | |
7aacca6f | 24152 | }, |
4d47f125 TL |
24153 | "pos" : { |
24154 | "description" : "Update rule at position <pos>.", | |
24155 | "minimum" : 0, | |
24156 | "optional" : 1, | |
24157 | "type" : "integer", | |
24158 | "typetext" : "<integer> (0 - N)" | |
24159 | }, | |
24160 | "proto" : { | |
24161 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
24162 | "format" : "pve-fw-protocol-spec", | |
24163 | "optional" : 1, | |
24164 | "type" : "string", | |
24165 | "typetext" : "<string>" | |
24166 | }, | |
24167 | "source" : { | |
24168 | "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.", | |
24169 | "format" : "pve-fw-addr-spec", | |
24170 | "optional" : 1, | |
24171 | "type" : "string", | |
24172 | "typetext" : "<string>" | |
24173 | }, | |
24174 | "sport" : { | |
24175 | "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.", | |
24176 | "format" : "pve-fw-sport-spec", | |
24177 | "optional" : 1, | |
013dc89f DM |
24178 | "type" : "string", |
24179 | "typetext" : "<string>" | |
7aacca6f | 24180 | }, |
4d47f125 TL |
24181 | "type" : { |
24182 | "description" : "Rule type.", | |
24183 | "enum" : [ | |
24184 | "in", | |
24185 | "out", | |
24186 | "group" | |
24187 | ], | |
24188 | "optional" : 1, | |
24189 | "type" : "string" | |
24190 | }, | |
7aacca6f | 24191 | "vmid" : { |
44660702 | 24192 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 24193 | "format" : "pve-vmid", |
44660702 | 24194 | "minimum" : 1, |
4bd7df8b | 24195 | "type" : "integer", |
013dc89f | 24196 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
24197 | } |
24198 | } | |
24199 | }, | |
7aacca6f DM |
24200 | "permissions" : { |
24201 | "check" : [ | |
24202 | "perm", | |
24203 | "/vms/{vmid}", | |
24204 | [ | |
4d47f125 | 24205 | "VM.Config.Network" |
7aacca6f DM |
24206 | ] |
24207 | ] | |
24208 | }, | |
4d47f125 TL |
24209 | "protected" : 1, |
24210 | "proxyto" : null, | |
24211 | "returns" : { | |
24212 | "type" : "null" | |
24213 | } | |
24214 | } | |
24215 | }, | |
24216 | "leaf" : 1, | |
24217 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}", | |
24218 | "text" : "{pos}" | |
24219 | } | |
24220 | ], | |
24221 | "info" : { | |
24222 | "GET" : { | |
e9cd3bd4 | 24223 | "allowtoken" : 1, |
4d47f125 TL |
24224 | "description" : "List rules.", |
24225 | "method" : "GET", | |
24226 | "name" : "get_rules", | |
24227 | "parameters" : { | |
24228 | "additionalProperties" : 0, | |
24229 | "properties" : { | |
24230 | "node" : { | |
24231 | "description" : "The cluster node name.", | |
24232 | "format" : "pve-node", | |
24233 | "type" : "string", | |
24234 | "typetext" : "<string>" | |
24235 | }, | |
24236 | "vmid" : { | |
24237 | "description" : "The (unique) ID of the VM.", | |
24238 | "format" : "pve-vmid", | |
24239 | "minimum" : 1, | |
24240 | "type" : "integer", | |
24241 | "typetext" : "<integer> (1 - N)" | |
24242 | } | |
24243 | } | |
24244 | }, | |
24245 | "permissions" : { | |
24246 | "check" : [ | |
24247 | "perm", | |
24248 | "/vms/{vmid}", | |
24249 | [ | |
24250 | "VM.Audit" | |
24251 | ] | |
24252 | ] | |
24253 | }, | |
24254 | "proxyto" : null, | |
24255 | "returns" : { | |
24256 | "items" : { | |
24257 | "properties" : { | |
24258 | "pos" : { | |
24259 | "type" : "integer" | |
24260 | } | |
24261 | }, | |
24262 | "type" : "object" | |
24263 | }, | |
24264 | "links" : [ | |
24265 | { | |
24266 | "href" : "{pos}", | |
24267 | "rel" : "child" | |
24268 | } | |
24269 | ], | |
24270 | "type" : "array" | |
24271 | } | |
24272 | }, | |
24273 | "POST" : { | |
e9cd3bd4 | 24274 | "allowtoken" : 1, |
4d47f125 TL |
24275 | "description" : "Create new rule.", |
24276 | "method" : "POST", | |
24277 | "name" : "create_rule", | |
24278 | "parameters" : { | |
24279 | "additionalProperties" : 0, | |
24280 | "properties" : { | |
24281 | "action" : { | |
24282 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
24283 | "maxLength" : 20, | |
24284 | "minLength" : 2, | |
24285 | "optional" : 0, | |
24286 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24287 | "type" : "string" | |
24288 | }, | |
24289 | "comment" : { | |
24290 | "description" : "Descriptive comment.", | |
24291 | "optional" : 1, | |
24292 | "type" : "string", | |
24293 | "typetext" : "<string>" | |
24294 | }, | |
24295 | "dest" : { | |
24296 | "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.", | |
24297 | "format" : "pve-fw-addr-spec", | |
24298 | "optional" : 1, | |
24299 | "type" : "string", | |
24300 | "typetext" : "<string>" | |
24301 | }, | |
24302 | "digest" : { | |
24303 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24304 | "maxLength" : 40, | |
24305 | "optional" : 1, | |
24306 | "type" : "string", | |
24307 | "typetext" : "<string>" | |
24308 | }, | |
24309 | "dport" : { | |
24310 | "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.", | |
24311 | "format" : "pve-fw-dport-spec", | |
24312 | "optional" : 1, | |
24313 | "type" : "string", | |
24314 | "typetext" : "<string>" | |
24315 | }, | |
24316 | "enable" : { | |
24317 | "description" : "Flag to enable/disable a rule.", | |
24318 | "minimum" : 0, | |
24319 | "optional" : 1, | |
24320 | "type" : "integer", | |
24321 | "typetext" : "<integer> (0 - N)" | |
24322 | }, | |
24323 | "iface" : { | |
24324 | "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.", | |
24325 | "format" : "pve-iface", | |
24326 | "maxLength" : 20, | |
24327 | "minLength" : 2, | |
24328 | "optional" : 1, | |
24329 | "type" : "string", | |
24330 | "typetext" : "<string>" | |
24331 | }, | |
95895385 TL |
24332 | "log" : { |
24333 | "description" : "Log level for firewall rule.", | |
24334 | "enum" : [ | |
24335 | "emerg", | |
24336 | "alert", | |
24337 | "crit", | |
24338 | "err", | |
24339 | "warning", | |
24340 | "notice", | |
24341 | "info", | |
24342 | "debug", | |
24343 | "nolog" | |
24344 | ], | |
24345 | "optional" : 1, | |
24346 | "type" : "string" | |
24347 | }, | |
4d47f125 TL |
24348 | "macro" : { |
24349 | "description" : "Use predefined standard macro.", | |
24350 | "maxLength" : 128, | |
44660702 | 24351 | "optional" : 1, |
4d47f125 TL |
24352 | "type" : "string", |
24353 | "typetext" : "<string>" | |
44660702 DM |
24354 | }, |
24355 | "node" : { | |
24356 | "description" : "The cluster node name.", | |
24357 | "format" : "pve-node", | |
013dc89f DM |
24358 | "type" : "string", |
24359 | "typetext" : "<string>" | |
7aacca6f | 24360 | }, |
4d47f125 TL |
24361 | "pos" : { |
24362 | "description" : "Update rule at position <pos>.", | |
24363 | "minimum" : 0, | |
24364 | "optional" : 1, | |
24365 | "type" : "integer", | |
24366 | "typetext" : "<integer> (0 - N)" | |
24367 | }, | |
24368 | "proto" : { | |
24369 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
24370 | "format" : "pve-fw-protocol-spec", | |
24371 | "optional" : 1, | |
24372 | "type" : "string", | |
24373 | "typetext" : "<string>" | |
24374 | }, | |
24375 | "source" : { | |
24376 | "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.", | |
24377 | "format" : "pve-fw-addr-spec", | |
24378 | "optional" : 1, | |
013dc89f DM |
24379 | "type" : "string", |
24380 | "typetext" : "<string>" | |
44660702 | 24381 | }, |
4d47f125 TL |
24382 | "sport" : { |
24383 | "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.", | |
24384 | "format" : "pve-fw-sport-spec", | |
24385 | "optional" : 1, | |
24386 | "type" : "string", | |
24387 | "typetext" : "<string>" | |
24388 | }, | |
24389 | "type" : { | |
24390 | "description" : "Rule type.", | |
24391 | "enum" : [ | |
24392 | "in", | |
24393 | "out", | |
24394 | "group" | |
24395 | ], | |
24396 | "optional" : 0, | |
24397 | "type" : "string" | |
24398 | }, | |
44660702 DM |
24399 | "vmid" : { |
24400 | "description" : "The (unique) ID of the VM.", | |
24401 | "format" : "pve-vmid", | |
24402 | "minimum" : 1, | |
4bd7df8b | 24403 | "type" : "integer", |
013dc89f | 24404 | "typetext" : "<integer> (1 - N)" |
56122987 | 24405 | } |
44660702 | 24406 | } |
7aacca6f | 24407 | }, |
56122987 DM |
24408 | "permissions" : { |
24409 | "check" : [ | |
24410 | "perm", | |
24411 | "/vms/{vmid}", | |
24412 | [ | |
4d47f125 | 24413 | "VM.Config.Network" |
56122987 DM |
24414 | ] |
24415 | ] | |
24416 | }, | |
44660702 | 24417 | "protected" : 1, |
4d47f125 | 24418 | "proxyto" : null, |
44660702 | 24419 | "returns" : { |
4d47f125 | 24420 | "type" : "null" |
44660702 DM |
24421 | } |
24422 | } | |
24423 | }, | |
24424 | "leaf" : 0, | |
4d47f125 TL |
24425 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules", |
24426 | "text" : "rules" | |
7aacca6f | 24427 | }, |
56122987 | 24428 | { |
56122987 DM |
24429 | "children" : [ |
24430 | { | |
56122987 | 24431 | "info" : { |
44660702 | 24432 | "DELETE" : { |
e9cd3bd4 | 24433 | "allowtoken" : 1, |
4d47f125 | 24434 | "description" : "Remove IP or Network alias.", |
44660702 | 24435 | "method" : "DELETE", |
4d47f125 | 24436 | "name" : "remove_alias", |
56122987 | 24437 | "parameters" : { |
44660702 | 24438 | "additionalProperties" : 0, |
56122987 | 24439 | "properties" : { |
44660702 DM |
24440 | "digest" : { |
24441 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24442 | "maxLength" : 40, | |
7aacca6f | 24443 | "optional" : 1, |
013dc89f DM |
24444 | "type" : "string", |
24445 | "typetext" : "<string>" | |
7aacca6f | 24446 | }, |
4d47f125 TL |
24447 | "name" : { |
24448 | "description" : "Alias name.", | |
24449 | "maxLength" : 64, | |
24450 | "minLength" : 2, | |
24451 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24452 | "type" : "string" | |
24453 | }, | |
7aacca6f | 24454 | "node" : { |
44660702 | 24455 | "description" : "The cluster node name.", |
7aacca6f | 24456 | "format" : "pve-node", |
013dc89f DM |
24457 | "type" : "string", |
24458 | "typetext" : "<string>" | |
44660702 | 24459 | }, |
44660702 DM |
24460 | "vmid" : { |
24461 | "description" : "The (unique) ID of the VM.", | |
24462 | "format" : "pve-vmid", | |
24463 | "minimum" : 1, | |
4bd7df8b | 24464 | "type" : "integer", |
013dc89f | 24465 | "typetext" : "<integer> (1 - N)" |
56122987 | 24466 | } |
44660702 | 24467 | } |
56122987 | 24468 | }, |
56122987 DM |
24469 | "permissions" : { |
24470 | "check" : [ | |
24471 | "perm", | |
24472 | "/vms/{vmid}", | |
24473 | [ | |
44660702 | 24474 | "VM.Config.Network" |
56122987 DM |
24475 | ] |
24476 | ] | |
24477 | }, | |
44660702 | 24478 | "protected" : 1, |
44660702 DM |
24479 | "returns" : { |
24480 | "type" : "null" | |
24481 | } | |
7aacca6f | 24482 | }, |
44660702 | 24483 | "GET" : { |
e9cd3bd4 | 24484 | "allowtoken" : 1, |
4d47f125 | 24485 | "description" : "Read alias.", |
44660702 | 24486 | "method" : "GET", |
4d47f125 | 24487 | "name" : "read_alias", |
56122987 | 24488 | "parameters" : { |
44660702 | 24489 | "additionalProperties" : 0, |
56122987 | 24490 | "properties" : { |
4d47f125 TL |
24491 | "name" : { |
24492 | "description" : "Alias name.", | |
24493 | "maxLength" : 64, | |
24494 | "minLength" : 2, | |
24495 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24496 | "type" : "string" | |
24497 | }, | |
7aacca6f | 24498 | "node" : { |
7aacca6f | 24499 | "description" : "The cluster node name.", |
44660702 | 24500 | "format" : "pve-node", |
013dc89f DM |
24501 | "type" : "string", |
24502 | "typetext" : "<string>" | |
56122987 | 24503 | }, |
7aacca6f | 24504 | "vmid" : { |
44660702 | 24505 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
24506 | "format" : "pve-vmid", |
24507 | "minimum" : 1, | |
4bd7df8b | 24508 | "type" : "integer", |
013dc89f | 24509 | "typetext" : "<integer> (1 - N)" |
56122987 | 24510 | } |
44660702 | 24511 | } |
56122987 | 24512 | }, |
7aacca6f DM |
24513 | "permissions" : { |
24514 | "check" : [ | |
24515 | "perm", | |
24516 | "/vms/{vmid}", | |
24517 | [ | |
44660702 | 24518 | "VM.Audit" |
7aacca6f DM |
24519 | ] |
24520 | ] | |
24521 | }, | |
7aacca6f | 24522 | "returns" : { |
44660702 | 24523 | "type" : "object" |
7aacca6f | 24524 | } |
56122987 | 24525 | }, |
44660702 | 24526 | "PUT" : { |
e9cd3bd4 | 24527 | "allowtoken" : 1, |
4d47f125 | 24528 | "description" : "Update IP or Network alias.", |
44660702 | 24529 | "method" : "PUT", |
4d47f125 | 24530 | "name" : "update_alias", |
56122987 DM |
24531 | "parameters" : { |
24532 | "additionalProperties" : 0, | |
24533 | "properties" : { | |
4d47f125 TL |
24534 | "cidr" : { |
24535 | "description" : "Network/IP specification in CIDR format.", | |
24536 | "format" : "IPorCIDR", | |
013dc89f DM |
24537 | "type" : "string", |
24538 | "typetext" : "<string>" | |
44660702 | 24539 | }, |
4d47f125 | 24540 | "comment" : { |
44660702 | 24541 | "optional" : 1, |
013dc89f DM |
24542 | "type" : "string", |
24543 | "typetext" : "<string>" | |
44660702 DM |
24544 | }, |
24545 | "digest" : { | |
24546 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24547 | "maxLength" : 40, | |
24548 | "optional" : 1, | |
013dc89f DM |
24549 | "type" : "string", |
24550 | "typetext" : "<string>" | |
44660702 | 24551 | }, |
4d47f125 TL |
24552 | "name" : { |
24553 | "description" : "Alias name.", | |
24554 | "maxLength" : 64, | |
44660702 | 24555 | "minLength" : 2, |
4d47f125 TL |
24556 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
24557 | "type" : "string" | |
44660702 | 24558 | }, |
7aacca6f DM |
24559 | "node" : { |
24560 | "description" : "The cluster node name.", | |
44660702 | 24561 | "format" : "pve-node", |
013dc89f DM |
24562 | "type" : "string", |
24563 | "typetext" : "<string>" | |
56122987 | 24564 | }, |
4d47f125 TL |
24565 | "rename" : { |
24566 | "description" : "Rename an existing alias.", | |
24567 | "maxLength" : 64, | |
24568 | "minLength" : 2, | |
7aacca6f | 24569 | "optional" : 1, |
4d47f125 | 24570 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 DM |
24571 | "type" : "string" |
24572 | }, | |
24573 | "vmid" : { | |
24574 | "description" : "The (unique) ID of the VM.", | |
24575 | "format" : "pve-vmid", | |
24576 | "minimum" : 1, | |
4bd7df8b | 24577 | "type" : "integer", |
013dc89f | 24578 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
24579 | } |
24580 | } | |
24581 | }, | |
56122987 DM |
24582 | "permissions" : { |
24583 | "check" : [ | |
24584 | "perm", | |
24585 | "/vms/{vmid}", | |
24586 | [ | |
7aacca6f | 24587 | "VM.Config.Network" |
56122987 DM |
24588 | ] |
24589 | ] | |
24590 | }, | |
44660702 | 24591 | "protected" : 1, |
56122987 | 24592 | "returns" : { |
7aacca6f DM |
24593 | "type" : "null" |
24594 | } | |
56122987 | 24595 | } |
44660702 DM |
24596 | }, |
24597 | "leaf" : 1, | |
4d47f125 TL |
24598 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}", |
24599 | "text" : "{name}" | |
56122987 DM |
24600 | } |
24601 | ], | |
24602 | "info" : { | |
7aacca6f | 24603 | "GET" : { |
e9cd3bd4 | 24604 | "allowtoken" : 1, |
4d47f125 | 24605 | "description" : "List aliases", |
44660702 | 24606 | "method" : "GET", |
4d47f125 | 24607 | "name" : "get_aliases", |
7aacca6f | 24608 | "parameters" : { |
44660702 | 24609 | "additionalProperties" : 0, |
7aacca6f DM |
24610 | "properties" : { |
24611 | "node" : { | |
7aacca6f | 24612 | "description" : "The cluster node name.", |
44660702 | 24613 | "format" : "pve-node", |
013dc89f DM |
24614 | "type" : "string", |
24615 | "typetext" : "<string>" | |
7aacca6f DM |
24616 | }, |
24617 | "vmid" : { | |
24618 | "description" : "The (unique) ID of the VM.", | |
44660702 | 24619 | "format" : "pve-vmid", |
7aacca6f | 24620 | "minimum" : 1, |
4bd7df8b | 24621 | "type" : "integer", |
013dc89f | 24622 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 24623 | } |
44660702 | 24624 | } |
56122987 | 24625 | }, |
56122987 DM |
24626 | "permissions" : { |
24627 | "check" : [ | |
24628 | "perm", | |
24629 | "/vms/{vmid}", | |
24630 | [ | |
7aacca6f | 24631 | "VM.Audit" |
56122987 DM |
24632 | ] |
24633 | ] | |
24634 | }, | |
7aacca6f | 24635 | "returns" : { |
7aacca6f DM |
24636 | "items" : { |
24637 | "properties" : { | |
4d47f125 TL |
24638 | "cidr" : { |
24639 | "type" : "string" | |
24640 | }, | |
24641 | "comment" : { | |
24642 | "optional" : 1, | |
24643 | "type" : "string" | |
24644 | }, | |
24645 | "digest" : { | |
24646 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24647 | "maxLength" : 40, | |
24648 | "optional" : 0, | |
24649 | "type" : "string" | |
24650 | }, | |
24651 | "name" : { | |
24652 | "type" : "string" | |
7aacca6f DM |
24653 | } |
24654 | }, | |
24655 | "type" : "object" | |
24656 | }, | |
24657 | "links" : [ | |
24658 | { | |
4d47f125 | 24659 | "href" : "{name}", |
44660702 | 24660 | "rel" : "child" |
7aacca6f | 24661 | } |
44660702 DM |
24662 | ], |
24663 | "type" : "array" | |
24664 | } | |
7aacca6f DM |
24665 | }, |
24666 | "POST" : { | |
e9cd3bd4 | 24667 | "allowtoken" : 1, |
4d47f125 | 24668 | "description" : "Create IP or Network Alias.", |
44660702 | 24669 | "method" : "POST", |
4d47f125 | 24670 | "name" : "create_alias", |
56122987 | 24671 | "parameters" : { |
44660702 | 24672 | "additionalProperties" : 0, |
56122987 | 24673 | "properties" : { |
4d47f125 TL |
24674 | "cidr" : { |
24675 | "description" : "Network/IP specification in CIDR format.", | |
24676 | "format" : "IPorCIDR", | |
013dc89f | 24677 | "type" : "string", |
4d47f125 TL |
24678 | "typetext" : "<string>" |
24679 | }, | |
24680 | "comment" : { | |
44660702 | 24681 | "optional" : 1, |
013dc89f DM |
24682 | "type" : "string", |
24683 | "typetext" : "<string>" | |
7aacca6f | 24684 | }, |
4d47f125 TL |
24685 | "name" : { |
24686 | "description" : "Alias name.", | |
24687 | "maxLength" : 64, | |
24688 | "minLength" : 2, | |
24689 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 DM |
24690 | "type" : "string" |
24691 | }, | |
4d47f125 TL |
24692 | "node" : { |
24693 | "description" : "The cluster node name.", | |
24694 | "format" : "pve-node", | |
24695 | "type" : "string", | |
24696 | "typetext" : "<string>" | |
24697 | }, | |
44660702 DM |
24698 | "vmid" : { |
24699 | "description" : "The (unique) ID of the VM.", | |
24700 | "format" : "pve-vmid", | |
24701 | "minimum" : 1, | |
4bd7df8b | 24702 | "type" : "integer", |
013dc89f | 24703 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
24704 | } |
24705 | } | |
24706 | }, | |
24707 | "permissions" : { | |
24708 | "check" : [ | |
24709 | "perm", | |
24710 | "/vms/{vmid}", | |
24711 | [ | |
24712 | "VM.Config.Network" | |
24713 | ] | |
24714 | ] | |
24715 | }, | |
24716 | "protected" : 1, | |
44660702 DM |
24717 | "returns" : { |
24718 | "type" : "null" | |
24719 | } | |
24720 | } | |
24721 | }, | |
24722 | "leaf" : 0, | |
4d47f125 TL |
24723 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases", |
24724 | "text" : "aliases" | |
44660702 DM |
24725 | }, |
24726 | { | |
24727 | "children" : [ | |
24728 | { | |
4d47f125 TL |
24729 | "children" : [ |
24730 | { | |
24731 | "info" : { | |
24732 | "DELETE" : { | |
e9cd3bd4 | 24733 | "allowtoken" : 1, |
4d47f125 TL |
24734 | "description" : "Remove IP or Network from IPSet.", |
24735 | "method" : "DELETE", | |
24736 | "name" : "remove_ip", | |
24737 | "parameters" : { | |
24738 | "additionalProperties" : 0, | |
24739 | "properties" : { | |
24740 | "cidr" : { | |
24741 | "description" : "Network/IP specification in CIDR format.", | |
24742 | "format" : "IPorCIDRorAlias", | |
24743 | "type" : "string", | |
24744 | "typetext" : "<string>" | |
24745 | }, | |
24746 | "digest" : { | |
24747 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24748 | "maxLength" : 40, | |
24749 | "optional" : 1, | |
24750 | "type" : "string", | |
24751 | "typetext" : "<string>" | |
24752 | }, | |
24753 | "name" : { | |
24754 | "description" : "IP set name.", | |
24755 | "maxLength" : 64, | |
24756 | "minLength" : 2, | |
24757 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24758 | "type" : "string" | |
24759 | }, | |
24760 | "node" : { | |
24761 | "description" : "The cluster node name.", | |
24762 | "format" : "pve-node", | |
24763 | "type" : "string", | |
24764 | "typetext" : "<string>" | |
24765 | }, | |
24766 | "vmid" : { | |
24767 | "description" : "The (unique) ID of the VM.", | |
24768 | "format" : "pve-vmid", | |
24769 | "minimum" : 1, | |
24770 | "type" : "integer", | |
24771 | "typetext" : "<integer> (1 - N)" | |
24772 | } | |
24773 | } | |
24774 | }, | |
24775 | "permissions" : { | |
24776 | "check" : [ | |
24777 | "perm", | |
24778 | "/vms/{vmid}", | |
24779 | [ | |
24780 | "VM.Config.Network" | |
24781 | ] | |
24782 | ] | |
24783 | }, | |
24784 | "protected" : 1, | |
24785 | "returns" : { | |
24786 | "type" : "null" | |
24787 | } | |
24788 | }, | |
24789 | "GET" : { | |
e9cd3bd4 | 24790 | "allowtoken" : 1, |
4d47f125 TL |
24791 | "description" : "Read IP or Network settings from IPSet.", |
24792 | "method" : "GET", | |
24793 | "name" : "read_ip", | |
24794 | "parameters" : { | |
24795 | "additionalProperties" : 0, | |
24796 | "properties" : { | |
24797 | "cidr" : { | |
24798 | "description" : "Network/IP specification in CIDR format.", | |
24799 | "format" : "IPorCIDRorAlias", | |
24800 | "type" : "string", | |
24801 | "typetext" : "<string>" | |
24802 | }, | |
24803 | "name" : { | |
24804 | "description" : "IP set name.", | |
24805 | "maxLength" : 64, | |
24806 | "minLength" : 2, | |
24807 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24808 | "type" : "string" | |
24809 | }, | |
24810 | "node" : { | |
24811 | "description" : "The cluster node name.", | |
24812 | "format" : "pve-node", | |
24813 | "type" : "string", | |
24814 | "typetext" : "<string>" | |
24815 | }, | |
24816 | "vmid" : { | |
24817 | "description" : "The (unique) ID of the VM.", | |
24818 | "format" : "pve-vmid", | |
24819 | "minimum" : 1, | |
24820 | "type" : "integer", | |
24821 | "typetext" : "<integer> (1 - N)" | |
24822 | } | |
24823 | } | |
24824 | }, | |
24825 | "permissions" : { | |
24826 | "check" : [ | |
24827 | "perm", | |
24828 | "/vms/{vmid}", | |
24829 | [ | |
24830 | "VM.Audit" | |
24831 | ] | |
24832 | ] | |
24833 | }, | |
24834 | "protected" : 1, | |
24835 | "returns" : { | |
24836 | "type" : "object" | |
24837 | } | |
24838 | }, | |
24839 | "PUT" : { | |
e9cd3bd4 | 24840 | "allowtoken" : 1, |
4d47f125 TL |
24841 | "description" : "Update IP or Network settings", |
24842 | "method" : "PUT", | |
24843 | "name" : "update_ip", | |
24844 | "parameters" : { | |
24845 | "additionalProperties" : 0, | |
24846 | "properties" : { | |
24847 | "cidr" : { | |
24848 | "description" : "Network/IP specification in CIDR format.", | |
24849 | "format" : "IPorCIDRorAlias", | |
24850 | "type" : "string", | |
24851 | "typetext" : "<string>" | |
24852 | }, | |
24853 | "comment" : { | |
24854 | "optional" : 1, | |
24855 | "type" : "string", | |
24856 | "typetext" : "<string>" | |
24857 | }, | |
24858 | "digest" : { | |
24859 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24860 | "maxLength" : 40, | |
24861 | "optional" : 1, | |
24862 | "type" : "string", | |
24863 | "typetext" : "<string>" | |
24864 | }, | |
24865 | "name" : { | |
24866 | "description" : "IP set name.", | |
24867 | "maxLength" : 64, | |
24868 | "minLength" : 2, | |
24869 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24870 | "type" : "string" | |
24871 | }, | |
24872 | "node" : { | |
24873 | "description" : "The cluster node name.", | |
24874 | "format" : "pve-node", | |
24875 | "type" : "string", | |
24876 | "typetext" : "<string>" | |
24877 | }, | |
24878 | "nomatch" : { | |
24879 | "optional" : 1, | |
24880 | "type" : "boolean", | |
24881 | "typetext" : "<boolean>" | |
24882 | }, | |
24883 | "vmid" : { | |
24884 | "description" : "The (unique) ID of the VM.", | |
24885 | "format" : "pve-vmid", | |
24886 | "minimum" : 1, | |
24887 | "type" : "integer", | |
24888 | "typetext" : "<integer> (1 - N)" | |
24889 | } | |
24890 | } | |
24891 | }, | |
24892 | "permissions" : { | |
24893 | "check" : [ | |
24894 | "perm", | |
24895 | "/vms/{vmid}", | |
24896 | [ | |
24897 | "VM.Config.Network" | |
24898 | ] | |
24899 | ] | |
24900 | }, | |
24901 | "protected" : 1, | |
24902 | "returns" : { | |
24903 | "type" : "null" | |
24904 | } | |
24905 | } | |
24906 | }, | |
24907 | "leaf" : 1, | |
24908 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}", | |
24909 | "text" : "{cidr}" | |
24910 | } | |
24911 | ], | |
44660702 DM |
24912 | "info" : { |
24913 | "DELETE" : { | |
e9cd3bd4 | 24914 | "allowtoken" : 1, |
4d47f125 | 24915 | "description" : "Delete IPSet", |
44660702 | 24916 | "method" : "DELETE", |
4d47f125 | 24917 | "name" : "delete_ipset", |
56122987 | 24918 | "parameters" : { |
44660702 | 24919 | "additionalProperties" : 0, |
56122987 | 24920 | "properties" : { |
7aacca6f | 24921 | "name" : { |
4d47f125 | 24922 | "description" : "IP set name.", |
7aacca6f | 24923 | "maxLength" : 64, |
7aacca6f DM |
24924 | "minLength" : 2, |
24925 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 24926 | "type" : "string" |
7aacca6f DM |
24927 | }, |
24928 | "node" : { | |
44660702 | 24929 | "description" : "The cluster node name.", |
56122987 | 24930 | "format" : "pve-node", |
013dc89f DM |
24931 | "type" : "string", |
24932 | "typetext" : "<string>" | |
7aacca6f | 24933 | }, |
56122987 | 24934 | "vmid" : { |
44660702 | 24935 | "description" : "The (unique) ID of the VM.", |
56122987 | 24936 | "format" : "pve-vmid", |
44660702 | 24937 | "minimum" : 1, |
4bd7df8b | 24938 | "type" : "integer", |
013dc89f | 24939 | "typetext" : "<integer> (1 - N)" |
56122987 | 24940 | } |
44660702 | 24941 | } |
56122987 | 24942 | }, |
56122987 DM |
24943 | "permissions" : { |
24944 | "check" : [ | |
24945 | "perm", | |
24946 | "/vms/{vmid}", | |
24947 | [ | |
7aacca6f | 24948 | "VM.Config.Network" |
56122987 DM |
24949 | ] |
24950 | ] | |
24951 | }, | |
44660702 | 24952 | "protected" : 1, |
56122987 | 24953 | "returns" : { |
7aacca6f | 24954 | "type" : "null" |
44660702 | 24955 | } |
56122987 | 24956 | }, |
44660702 | 24957 | "GET" : { |
e9cd3bd4 | 24958 | "allowtoken" : 1, |
4d47f125 | 24959 | "description" : "List IPSet content", |
44660702 | 24960 | "method" : "GET", |
4d47f125 | 24961 | "name" : "get_ipset", |
44660702 DM |
24962 | "parameters" : { |
24963 | "additionalProperties" : 0, | |
24964 | "properties" : { | |
24965 | "name" : { | |
4d47f125 | 24966 | "description" : "IP set name.", |
44660702 DM |
24967 | "maxLength" : 64, |
24968 | "minLength" : 2, | |
24969 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
24970 | "type" : "string" | |
24971 | }, | |
24972 | "node" : { | |
24973 | "description" : "The cluster node name.", | |
24974 | "format" : "pve-node", | |
013dc89f DM |
24975 | "type" : "string", |
24976 | "typetext" : "<string>" | |
44660702 DM |
24977 | }, |
24978 | "vmid" : { | |
24979 | "description" : "The (unique) ID of the VM.", | |
24980 | "format" : "pve-vmid", | |
24981 | "minimum" : 1, | |
4bd7df8b | 24982 | "type" : "integer", |
013dc89f | 24983 | "typetext" : "<integer> (1 - N)" |
44660702 | 24984 | } |
4d47f125 TL |
24985 | } |
24986 | }, | |
24987 | "permissions" : { | |
24988 | "check" : [ | |
24989 | "perm", | |
24990 | "/vms/{vmid}", | |
24991 | [ | |
24992 | "VM.Audit" | |
24993 | ] | |
24994 | ] | |
24995 | }, | |
24996 | "returns" : { | |
24997 | "items" : { | |
24998 | "properties" : { | |
24999 | "cidr" : { | |
25000 | "type" : "string" | |
25001 | }, | |
25002 | "comment" : { | |
25003 | "optional" : 1, | |
25004 | "type" : "string" | |
25005 | }, | |
25006 | "digest" : { | |
25007 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
25008 | "maxLength" : 40, | |
25009 | "optional" : 0, | |
25010 | "type" : "string" | |
25011 | }, | |
25012 | "nomatch" : { | |
25013 | "optional" : 1, | |
25014 | "type" : "boolean" | |
25015 | } | |
25016 | }, | |
25017 | "type" : "object" | |
25018 | }, | |
25019 | "links" : [ | |
25020 | { | |
25021 | "href" : "{cidr}", | |
25022 | "rel" : "child" | |
25023 | } | |
25024 | ], | |
25025 | "type" : "array" | |
44660702 DM |
25026 | } |
25027 | }, | |
4d47f125 | 25028 | "POST" : { |
e9cd3bd4 | 25029 | "allowtoken" : 1, |
4d47f125 TL |
25030 | "description" : "Add IP or Network to IPSet.", |
25031 | "method" : "POST", | |
25032 | "name" : "create_ip", | |
56122987 DM |
25033 | "parameters" : { |
25034 | "additionalProperties" : 0, | |
25035 | "properties" : { | |
44660702 DM |
25036 | "cidr" : { |
25037 | "description" : "Network/IP specification in CIDR format.", | |
4d47f125 | 25038 | "format" : "IPorCIDRorAlias", |
013dc89f DM |
25039 | "type" : "string", |
25040 | "typetext" : "<string>" | |
44660702 DM |
25041 | }, |
25042 | "comment" : { | |
25043 | "optional" : 1, | |
013dc89f DM |
25044 | "type" : "string", |
25045 | "typetext" : "<string>" | |
44660702 | 25046 | }, |
56122987 | 25047 | "name" : { |
4d47f125 | 25048 | "description" : "IP set name.", |
44660702 DM |
25049 | "maxLength" : 64, |
25050 | "minLength" : 2, | |
7aacca6f | 25051 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 25052 | "type" : "string" |
56122987 DM |
25053 | }, |
25054 | "node" : { | |
25055 | "description" : "The cluster node name.", | |
44660702 | 25056 | "format" : "pve-node", |
013dc89f DM |
25057 | "type" : "string", |
25058 | "typetext" : "<string>" | |
44660702 | 25059 | }, |
4d47f125 | 25060 | "nomatch" : { |
44660702 | 25061 | "optional" : 1, |
4d47f125 TL |
25062 | "type" : "boolean", |
25063 | "typetext" : "<boolean>" | |
56122987 | 25064 | }, |
7aacca6f | 25065 | "vmid" : { |
7aacca6f | 25066 | "description" : "The (unique) ID of the VM.", |
44660702 | 25067 | "format" : "pve-vmid", |
7aacca6f | 25068 | "minimum" : 1, |
4bd7df8b | 25069 | "type" : "integer", |
013dc89f | 25070 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
25071 | } |
25072 | } | |
25073 | }, | |
44660702 DM |
25074 | "permissions" : { |
25075 | "check" : [ | |
25076 | "perm", | |
25077 | "/vms/{vmid}", | |
25078 | [ | |
25079 | "VM.Config.Network" | |
25080 | ] | |
25081 | ] | |
7aacca6f | 25082 | }, |
44660702 DM |
25083 | "protected" : 1, |
25084 | "returns" : { | |
25085 | "type" : "null" | |
7aacca6f DM |
25086 | } |
25087 | } | |
25088 | }, | |
4d47f125 TL |
25089 | "leaf" : 0, |
25090 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}", | |
44660702 DM |
25091 | "text" : "{name}" |
25092 | } | |
25093 | ], | |
25094 | "info" : { | |
25095 | "GET" : { | |
e9cd3bd4 | 25096 | "allowtoken" : 1, |
4d47f125 | 25097 | "description" : "List IPSets", |
44660702 | 25098 | "method" : "GET", |
4d47f125 | 25099 | "name" : "ipset_index", |
56122987 DM |
25100 | "parameters" : { |
25101 | "additionalProperties" : 0, | |
25102 | "properties" : { | |
25103 | "node" : { | |
44660702 | 25104 | "description" : "The cluster node name.", |
56122987 | 25105 | "format" : "pve-node", |
013dc89f DM |
25106 | "type" : "string", |
25107 | "typetext" : "<string>" | |
56122987 DM |
25108 | }, |
25109 | "vmid" : { | |
7aacca6f | 25110 | "description" : "The (unique) ID of the VM.", |
44660702 | 25111 | "format" : "pve-vmid", |
7aacca6f | 25112 | "minimum" : 1, |
4bd7df8b | 25113 | "type" : "integer", |
013dc89f | 25114 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
25115 | } |
25116 | } | |
25117 | }, | |
44660702 DM |
25118 | "permissions" : { |
25119 | "check" : [ | |
25120 | "perm", | |
25121 | "/vms/{vmid}", | |
25122 | [ | |
25123 | "VM.Audit" | |
25124 | ] | |
25125 | ] | |
25126 | }, | |
56122987 DM |
25127 | "returns" : { |
25128 | "items" : { | |
56122987 | 25129 | "properties" : { |
44660702 DM |
25130 | "comment" : { |
25131 | "optional" : 1, | |
56122987 DM |
25132 | "type" : "string" |
25133 | }, | |
56122987 | 25134 | "digest" : { |
56122987 | 25135 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 DM |
25136 | "maxLength" : 40, |
25137 | "optional" : 0, | |
25138 | "type" : "string" | |
25139 | }, | |
25140 | "name" : { | |
4d47f125 TL |
25141 | "description" : "IP set name.", |
25142 | "maxLength" : 64, | |
25143 | "minLength" : 2, | |
25144 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 25145 | "type" : "string" |
56122987 | 25146 | } |
44660702 DM |
25147 | }, |
25148 | "type" : "object" | |
25149 | }, | |
25150 | "links" : [ | |
25151 | { | |
25152 | "href" : "{name}", | |
25153 | "rel" : "child" | |
56122987 | 25154 | } |
4d47f125 TL |
25155 | ], |
25156 | "type" : "array" | |
25157 | } | |
25158 | }, | |
25159 | "POST" : { | |
e9cd3bd4 | 25160 | "allowtoken" : 1, |
4d47f125 TL |
25161 | "description" : "Create new IPSet", |
25162 | "method" : "POST", | |
25163 | "name" : "create_ipset", | |
25164 | "parameters" : { | |
25165 | "additionalProperties" : 0, | |
25166 | "properties" : { | |
25167 | "comment" : { | |
25168 | "optional" : 1, | |
25169 | "type" : "string", | |
25170 | "typetext" : "<string>" | |
25171 | }, | |
25172 | "digest" : { | |
25173 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
25174 | "maxLength" : 40, | |
25175 | "optional" : 1, | |
25176 | "type" : "string", | |
25177 | "typetext" : "<string>" | |
25178 | }, | |
25179 | "name" : { | |
25180 | "description" : "IP set name.", | |
25181 | "maxLength" : 64, | |
25182 | "minLength" : 2, | |
25183 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
25184 | "type" : "string" | |
25185 | }, | |
25186 | "node" : { | |
25187 | "description" : "The cluster node name.", | |
25188 | "format" : "pve-node", | |
25189 | "type" : "string", | |
25190 | "typetext" : "<string>" | |
25191 | }, | |
25192 | "rename" : { | |
25193 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
25194 | "maxLength" : 64, | |
25195 | "minLength" : 2, | |
25196 | "optional" : 1, | |
25197 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
25198 | "type" : "string" | |
25199 | }, | |
25200 | "vmid" : { | |
25201 | "description" : "The (unique) ID of the VM.", | |
25202 | "format" : "pve-vmid", | |
25203 | "minimum" : 1, | |
25204 | "type" : "integer", | |
25205 | "typetext" : "<integer> (1 - N)" | |
25206 | } | |
25207 | } | |
25208 | }, | |
25209 | "permissions" : { | |
25210 | "check" : [ | |
25211 | "perm", | |
25212 | "/vms/{vmid}", | |
25213 | [ | |
25214 | "VM.Config.Network" | |
25215 | ] | |
25216 | ] | |
25217 | }, | |
25218 | "protected" : 1, | |
25219 | "returns" : { | |
25220 | "type" : "null" | |
25221 | } | |
25222 | } | |
25223 | }, | |
25224 | "leaf" : 0, | |
25225 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset", | |
25226 | "text" : "ipset" | |
25227 | }, | |
25228 | { | |
25229 | "info" : { | |
25230 | "GET" : { | |
e9cd3bd4 | 25231 | "allowtoken" : 1, |
4d47f125 TL |
25232 | "description" : "Get VM firewall options.", |
25233 | "method" : "GET", | |
25234 | "name" : "get_options", | |
25235 | "parameters" : { | |
25236 | "additionalProperties" : 0, | |
25237 | "properties" : { | |
25238 | "node" : { | |
25239 | "description" : "The cluster node name.", | |
25240 | "format" : "pve-node", | |
25241 | "type" : "string", | |
25242 | "typetext" : "<string>" | |
25243 | }, | |
25244 | "vmid" : { | |
25245 | "description" : "The (unique) ID of the VM.", | |
25246 | "format" : "pve-vmid", | |
25247 | "minimum" : 1, | |
25248 | "type" : "integer", | |
25249 | "typetext" : "<integer> (1 - N)" | |
25250 | } | |
25251 | } | |
25252 | }, | |
25253 | "permissions" : { | |
25254 | "check" : [ | |
25255 | "perm", | |
25256 | "/vms/{vmid}", | |
25257 | [ | |
25258 | "VM.Audit" | |
25259 | ] | |
25260 | ] | |
25261 | }, | |
25262 | "proxyto" : "node", | |
25263 | "returns" : { | |
25264 | "properties" : { | |
25265 | "dhcp" : { | |
5c1699e5 | 25266 | "default" : 0, |
4d47f125 TL |
25267 | "description" : "Enable DHCP.", |
25268 | "optional" : 1, | |
25269 | "type" : "boolean" | |
25270 | }, | |
25271 | "enable" : { | |
5c1699e5 | 25272 | "default" : 0, |
4d47f125 TL |
25273 | "description" : "Enable/disable firewall rules.", |
25274 | "optional" : 1, | |
25275 | "type" : "boolean" | |
25276 | }, | |
25277 | "ipfilter" : { | |
25278 | "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.", | |
25279 | "optional" : 1, | |
25280 | "type" : "boolean" | |
25281 | }, | |
25282 | "log_level_in" : { | |
25283 | "description" : "Log level for incoming traffic.", | |
25284 | "enum" : [ | |
25285 | "emerg", | |
25286 | "alert", | |
25287 | "crit", | |
25288 | "err", | |
25289 | "warning", | |
25290 | "notice", | |
25291 | "info", | |
25292 | "debug", | |
25293 | "nolog" | |
25294 | ], | |
25295 | "optional" : 1, | |
25296 | "type" : "string" | |
25297 | }, | |
25298 | "log_level_out" : { | |
25299 | "description" : "Log level for outgoing traffic.", | |
25300 | "enum" : [ | |
25301 | "emerg", | |
25302 | "alert", | |
25303 | "crit", | |
25304 | "err", | |
25305 | "warning", | |
25306 | "notice", | |
25307 | "info", | |
25308 | "debug", | |
25309 | "nolog" | |
25310 | ], | |
25311 | "optional" : 1, | |
25312 | "type" : "string" | |
25313 | }, | |
25314 | "macfilter" : { | |
5c1699e5 | 25315 | "default" : 0, |
4d47f125 TL |
25316 | "description" : "Enable/disable MAC address filter.", |
25317 | "optional" : 1, | |
25318 | "type" : "boolean" | |
25319 | }, | |
25320 | "ndp" : { | |
5c1699e5 TL |
25321 | "default" : 0, |
25322 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
4d47f125 TL |
25323 | "optional" : 1, |
25324 | "type" : "boolean" | |
25325 | }, | |
25326 | "policy_in" : { | |
25327 | "description" : "Input policy.", | |
25328 | "enum" : [ | |
25329 | "ACCEPT", | |
25330 | "REJECT", | |
25331 | "DROP" | |
25332 | ], | |
25333 | "optional" : 1, | |
25334 | "type" : "string" | |
25335 | }, | |
25336 | "policy_out" : { | |
25337 | "description" : "Output policy.", | |
25338 | "enum" : [ | |
25339 | "ACCEPT", | |
25340 | "REJECT", | |
25341 | "DROP" | |
25342 | ], | |
25343 | "optional" : 1, | |
25344 | "type" : "string" | |
25345 | }, | |
25346 | "radv" : { | |
25347 | "description" : "Allow sending Router Advertisement.", | |
25348 | "optional" : 1, | |
25349 | "type" : "boolean" | |
25350 | } | |
25351 | }, | |
25352 | "type" : "object" | |
7aacca6f DM |
25353 | } |
25354 | }, | |
4d47f125 | 25355 | "PUT" : { |
e9cd3bd4 | 25356 | "allowtoken" : 1, |
4d47f125 TL |
25357 | "description" : "Set Firewall options.", |
25358 | "method" : "PUT", | |
25359 | "name" : "set_options", | |
7aacca6f DM |
25360 | "parameters" : { |
25361 | "additionalProperties" : 0, | |
25362 | "properties" : { | |
4d47f125 TL |
25363 | "delete" : { |
25364 | "description" : "A list of settings you want to delete.", | |
25365 | "format" : "pve-configid-list", | |
7aacca6f | 25366 | "optional" : 1, |
013dc89f DM |
25367 | "type" : "string", |
25368 | "typetext" : "<string>" | |
7aacca6f | 25369 | }, |
4d47f125 | 25370 | "dhcp" : { |
5c1699e5 | 25371 | "default" : 0, |
4d47f125 TL |
25372 | "description" : "Enable DHCP.", |
25373 | "optional" : 1, | |
25374 | "type" : "boolean", | |
25375 | "typetext" : "<boolean>" | |
7aacca6f | 25376 | }, |
4d47f125 TL |
25377 | "digest" : { |
25378 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
25379 | "maxLength" : 40, | |
25380 | "optional" : 1, | |
013dc89f DM |
25381 | "type" : "string", |
25382 | "typetext" : "<string>" | |
7aacca6f | 25383 | }, |
4d47f125 | 25384 | "enable" : { |
5c1699e5 | 25385 | "default" : 0, |
4d47f125 TL |
25386 | "description" : "Enable/disable firewall rules.", |
25387 | "optional" : 1, | |
25388 | "type" : "boolean", | |
25389 | "typetext" : "<boolean>" | |
25390 | }, | |
25391 | "ipfilter" : { | |
25392 | "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.", | |
25393 | "optional" : 1, | |
25394 | "type" : "boolean", | |
25395 | "typetext" : "<boolean>" | |
56122987 | 25396 | }, |
4d47f125 TL |
25397 | "log_level_in" : { |
25398 | "description" : "Log level for incoming traffic.", | |
25399 | "enum" : [ | |
25400 | "emerg", | |
25401 | "alert", | |
25402 | "crit", | |
25403 | "err", | |
25404 | "warning", | |
25405 | "notice", | |
25406 | "info", | |
25407 | "debug", | |
25408 | "nolog" | |
25409 | ], | |
25410 | "optional" : 1, | |
25411 | "type" : "string" | |
44660702 | 25412 | }, |
4d47f125 TL |
25413 | "log_level_out" : { |
25414 | "description" : "Log level for outgoing traffic.", | |
25415 | "enum" : [ | |
25416 | "emerg", | |
25417 | "alert", | |
25418 | "crit", | |
25419 | "err", | |
25420 | "warning", | |
25421 | "notice", | |
25422 | "info", | |
25423 | "debug", | |
25424 | "nolog" | |
25425 | ], | |
25426 | "optional" : 1, | |
25427 | "type" : "string" | |
44660702 | 25428 | }, |
4d47f125 | 25429 | "macfilter" : { |
5c1699e5 | 25430 | "default" : 0, |
4d47f125 TL |
25431 | "description" : "Enable/disable MAC address filter.", |
25432 | "optional" : 1, | |
25433 | "type" : "boolean", | |
25434 | "typetext" : "<boolean>" | |
7aacca6f | 25435 | }, |
4d47f125 | 25436 | "ndp" : { |
5c1699e5 TL |
25437 | "default" : 0, |
25438 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
4d47f125 TL |
25439 | "optional" : 1, |
25440 | "type" : "boolean", | |
25441 | "typetext" : "<boolean>" | |
7aacca6f | 25442 | }, |
4d47f125 TL |
25443 | "node" : { |
25444 | "description" : "The cluster node name.", | |
25445 | "format" : "pve-node", | |
25446 | "type" : "string", | |
25447 | "typetext" : "<string>" | |
25448 | }, | |
25449 | "policy_in" : { | |
25450 | "description" : "Input policy.", | |
25451 | "enum" : [ | |
25452 | "ACCEPT", | |
25453 | "REJECT", | |
25454 | "DROP" | |
44660702 | 25455 | ], |
4d47f125 TL |
25456 | "optional" : 1, |
25457 | "type" : "string" | |
25458 | }, | |
25459 | "policy_out" : { | |
25460 | "description" : "Output policy.", | |
25461 | "enum" : [ | |
25462 | "ACCEPT", | |
25463 | "REJECT", | |
25464 | "DROP" | |
25465 | ], | |
25466 | "optional" : 1, | |
25467 | "type" : "string" | |
25468 | }, | |
25469 | "radv" : { | |
25470 | "description" : "Allow sending Router Advertisement.", | |
25471 | "optional" : 1, | |
25472 | "type" : "boolean", | |
25473 | "typetext" : "<boolean>" | |
25474 | }, | |
25475 | "vmid" : { | |
25476 | "description" : "The (unique) ID of the VM.", | |
25477 | "format" : "pve-vmid", | |
25478 | "minimum" : 1, | |
25479 | "type" : "integer", | |
25480 | "typetext" : "<integer> (1 - N)" | |
44660702 | 25481 | } |
4d47f125 TL |
25482 | } |
25483 | }, | |
25484 | "permissions" : { | |
25485 | "check" : [ | |
25486 | "perm", | |
25487 | "/vms/{vmid}", | |
25488 | [ | |
25489 | "VM.Config.Network" | |
25490 | ] | |
25491 | ] | |
25492 | }, | |
25493 | "protected" : 1, | |
25494 | "proxyto" : "node", | |
25495 | "returns" : { | |
25496 | "type" : "null" | |
25497 | } | |
25498 | } | |
25499 | }, | |
25500 | "leaf" : 1, | |
25501 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/options", | |
25502 | "text" : "options" | |
25503 | }, | |
25504 | { | |
25505 | "info" : { | |
25506 | "GET" : { | |
e9cd3bd4 | 25507 | "allowtoken" : 1, |
4d47f125 TL |
25508 | "description" : "Read firewall log", |
25509 | "method" : "GET", | |
25510 | "name" : "log", | |
25511 | "parameters" : { | |
25512 | "additionalProperties" : 0, | |
25513 | "properties" : { | |
25514 | "limit" : { | |
25515 | "minimum" : 0, | |
25516 | "optional" : 1, | |
25517 | "type" : "integer", | |
25518 | "typetext" : "<integer> (0 - N)" | |
44660702 | 25519 | }, |
4d47f125 TL |
25520 | "node" : { |
25521 | "description" : "The cluster node name.", | |
25522 | "format" : "pve-node", | |
25523 | "type" : "string", | |
25524 | "typetext" : "<string>" | |
44660702 | 25525 | }, |
4d47f125 TL |
25526 | "start" : { |
25527 | "minimum" : 0, | |
25528 | "optional" : 1, | |
25529 | "type" : "integer", | |
25530 | "typetext" : "<integer> (0 - N)" | |
25531 | }, | |
25532 | "vmid" : { | |
25533 | "description" : "The (unique) ID of the VM.", | |
25534 | "format" : "pve-vmid", | |
25535 | "minimum" : 1, | |
25536 | "type" : "integer", | |
25537 | "typetext" : "<integer> (1 - N)" | |
44660702 DM |
25538 | } |
25539 | } | |
25540 | }, | |
4d47f125 TL |
25541 | "permissions" : { |
25542 | "check" : [ | |
25543 | "perm", | |
25544 | "/vms/{vmid}", | |
25545 | [ | |
25546 | "VM.Console" | |
25547 | ] | |
25548 | ] | |
25549 | }, | |
25550 | "protected" : 1, | |
25551 | "proxyto" : "node", | |
25552 | "returns" : { | |
25553 | "items" : { | |
25554 | "properties" : { | |
25555 | "n" : { | |
25556 | "description" : "Line number", | |
25557 | "type" : "integer" | |
25558 | }, | |
25559 | "t" : { | |
25560 | "description" : "Line text", | |
25561 | "type" : "string" | |
25562 | } | |
25563 | }, | |
25564 | "type" : "object" | |
25565 | }, | |
25566 | "type" : "array" | |
25567 | } | |
44660702 | 25568 | } |
4d47f125 TL |
25569 | }, |
25570 | "leaf" : 1, | |
25571 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/log", | |
25572 | "text" : "log" | |
25573 | }, | |
25574 | { | |
44660702 DM |
25575 | "info" : { |
25576 | "GET" : { | |
e9cd3bd4 | 25577 | "allowtoken" : 1, |
4d47f125 | 25578 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", |
44660702 | 25579 | "method" : "GET", |
4d47f125 | 25580 | "name" : "refs", |
44660702 DM |
25581 | "parameters" : { |
25582 | "additionalProperties" : 0, | |
25583 | "properties" : { | |
25584 | "node" : { | |
25585 | "description" : "The cluster node name.", | |
25586 | "format" : "pve-node", | |
013dc89f DM |
25587 | "type" : "string", |
25588 | "typetext" : "<string>" | |
44660702 | 25589 | }, |
4d47f125 TL |
25590 | "type" : { |
25591 | "description" : "Only list references of specified type.", | |
25592 | "enum" : [ | |
25593 | "alias", | |
25594 | "ipset" | |
25595 | ], | |
25596 | "optional" : 1, | |
25597 | "type" : "string" | |
25598 | }, | |
44660702 DM |
25599 | "vmid" : { |
25600 | "description" : "The (unique) ID of the VM.", | |
25601 | "format" : "pve-vmid", | |
25602 | "minimum" : 1, | |
4bd7df8b | 25603 | "type" : "integer", |
013dc89f | 25604 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
25605 | } |
25606 | } | |
25607 | }, | |
4d47f125 TL |
25608 | "permissions" : { |
25609 | "check" : [ | |
25610 | "perm", | |
25611 | "/vms/{vmid}", | |
25612 | [ | |
25613 | "VM.Audit" | |
25614 | ] | |
25615 | ] | |
25616 | }, | |
25617 | "returns" : { | |
25618 | "items" : { | |
25619 | "properties" : { | |
25620 | "comment" : { | |
25621 | "optional" : 1, | |
25622 | "type" : "string" | |
25623 | }, | |
25624 | "name" : { | |
25625 | "type" : "string" | |
25626 | }, | |
25627 | "type" : { | |
25628 | "enum" : [ | |
25629 | "alias", | |
25630 | "ipset" | |
25631 | ], | |
25632 | "type" : "string" | |
25633 | } | |
25634 | }, | |
25635 | "type" : "object" | |
25636 | }, | |
25637 | "type" : "array" | |
25638 | } | |
25639 | } | |
25640 | }, | |
25641 | "leaf" : 1, | |
25642 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs", | |
25643 | "text" : "refs" | |
25644 | } | |
25645 | ], | |
25646 | "info" : { | |
25647 | "GET" : { | |
e9cd3bd4 | 25648 | "allowtoken" : 1, |
4d47f125 TL |
25649 | "description" : "Directory index.", |
25650 | "method" : "GET", | |
25651 | "name" : "index", | |
25652 | "parameters" : { | |
25653 | "additionalProperties" : 0, | |
25654 | "properties" : { | |
25655 | "node" : { | |
25656 | "description" : "The cluster node name.", | |
25657 | "format" : "pve-node", | |
25658 | "type" : "string", | |
25659 | "typetext" : "<string>" | |
25660 | }, | |
25661 | "vmid" : { | |
25662 | "description" : "The (unique) ID of the VM.", | |
25663 | "format" : "pve-vmid", | |
25664 | "minimum" : 1, | |
25665 | "type" : "integer", | |
25666 | "typetext" : "<integer> (1 - N)" | |
25667 | } | |
25668 | } | |
25669 | }, | |
25670 | "permissions" : { | |
25671 | "user" : "all" | |
25672 | }, | |
25673 | "returns" : { | |
25674 | "items" : { | |
25675 | "properties" : {}, | |
25676 | "type" : "object" | |
25677 | }, | |
25678 | "links" : [ | |
25679 | { | |
25680 | "href" : "{name}", | |
25681 | "rel" : "child" | |
25682 | } | |
25683 | ], | |
25684 | "type" : "array" | |
25685 | } | |
25686 | } | |
25687 | }, | |
25688 | "leaf" : 0, | |
25689 | "path" : "/nodes/{node}/lxc/{vmid}/firewall", | |
25690 | "text" : "firewall" | |
25691 | }, | |
25692 | { | |
25693 | "info" : { | |
25694 | "GET" : { | |
e9cd3bd4 | 25695 | "allowtoken" : 1, |
4d47f125 TL |
25696 | "description" : "Read VM RRD statistics (returns PNG)", |
25697 | "method" : "GET", | |
25698 | "name" : "rrd", | |
25699 | "parameters" : { | |
25700 | "additionalProperties" : 0, | |
25701 | "properties" : { | |
25702 | "cf" : { | |
25703 | "description" : "The RRD consolidation function", | |
25704 | "enum" : [ | |
25705 | "AVERAGE", | |
25706 | "MAX" | |
25707 | ], | |
25708 | "optional" : 1, | |
25709 | "type" : "string" | |
25710 | }, | |
25711 | "ds" : { | |
25712 | "description" : "The list of datasources you want to display.", | |
25713 | "format" : "pve-configid-list", | |
25714 | "type" : "string", | |
25715 | "typetext" : "<string>" | |
25716 | }, | |
25717 | "node" : { | |
25718 | "description" : "The cluster node name.", | |
25719 | "format" : "pve-node", | |
25720 | "type" : "string", | |
25721 | "typetext" : "<string>" | |
25722 | }, | |
25723 | "timeframe" : { | |
25724 | "description" : "Specify the time frame you are interested in.", | |
25725 | "enum" : [ | |
25726 | "hour", | |
25727 | "day", | |
25728 | "week", | |
25729 | "month", | |
25730 | "year" | |
25731 | ], | |
25732 | "type" : "string" | |
25733 | }, | |
25734 | "vmid" : { | |
25735 | "description" : "The (unique) ID of the VM.", | |
25736 | "format" : "pve-vmid", | |
25737 | "minimum" : 1, | |
25738 | "type" : "integer", | |
25739 | "typetext" : "<integer> (1 - N)" | |
25740 | } | |
25741 | } | |
25742 | }, | |
25743 | "permissions" : { | |
25744 | "check" : [ | |
25745 | "perm", | |
25746 | "/vms/{vmid}", | |
25747 | [ | |
25748 | "VM.Audit" | |
25749 | ] | |
25750 | ] | |
25751 | }, | |
25752 | "protected" : 1, | |
25753 | "returns" : { | |
25754 | "properties" : { | |
25755 | "filename" : { | |
25756 | "type" : "string" | |
25757 | } | |
25758 | }, | |
25759 | "type" : "object" | |
25760 | } | |
25761 | } | |
25762 | }, | |
25763 | "leaf" : 1, | |
25764 | "path" : "/nodes/{node}/lxc/{vmid}/rrd", | |
25765 | "text" : "rrd" | |
25766 | }, | |
25767 | { | |
25768 | "info" : { | |
25769 | "GET" : { | |
e9cd3bd4 | 25770 | "allowtoken" : 1, |
4d47f125 TL |
25771 | "description" : "Read VM RRD statistics", |
25772 | "method" : "GET", | |
25773 | "name" : "rrddata", | |
25774 | "parameters" : { | |
25775 | "additionalProperties" : 0, | |
25776 | "properties" : { | |
25777 | "cf" : { | |
25778 | "description" : "The RRD consolidation function", | |
25779 | "enum" : [ | |
25780 | "AVERAGE", | |
25781 | "MAX" | |
25782 | ], | |
25783 | "optional" : 1, | |
25784 | "type" : "string" | |
25785 | }, | |
25786 | "node" : { | |
25787 | "description" : "The cluster node name.", | |
25788 | "format" : "pve-node", | |
25789 | "type" : "string", | |
25790 | "typetext" : "<string>" | |
44660702 | 25791 | }, |
4d47f125 TL |
25792 | "timeframe" : { |
25793 | "description" : "Specify the time frame you are interested in.", | |
25794 | "enum" : [ | |
25795 | "hour", | |
25796 | "day", | |
25797 | "week", | |
25798 | "month", | |
25799 | "year" | |
44660702 | 25800 | ], |
4d47f125 TL |
25801 | "type" : "string" |
25802 | }, | |
25803 | "vmid" : { | |
25804 | "description" : "The (unique) ID of the VM.", | |
25805 | "format" : "pve-vmid", | |
25806 | "minimum" : 1, | |
25807 | "type" : "integer", | |
25808 | "typetext" : "<integer> (1 - N)" | |
44660702 | 25809 | } |
4d47f125 TL |
25810 | } |
25811 | }, | |
25812 | "permissions" : { | |
25813 | "check" : [ | |
25814 | "perm", | |
25815 | "/vms/{vmid}", | |
25816 | [ | |
25817 | "VM.Audit" | |
25818 | ] | |
25819 | ] | |
25820 | }, | |
25821 | "protected" : 1, | |
25822 | "returns" : { | |
25823 | "items" : { | |
25824 | "properties" : {}, | |
25825 | "type" : "object" | |
44660702 | 25826 | }, |
4d47f125 TL |
25827 | "type" : "array" |
25828 | } | |
25829 | } | |
25830 | }, | |
25831 | "leaf" : 1, | |
25832 | "path" : "/nodes/{node}/lxc/{vmid}/rrddata", | |
25833 | "text" : "rrddata" | |
25834 | }, | |
25835 | { | |
25836 | "info" : { | |
25837 | "POST" : { | |
e9cd3bd4 | 25838 | "allowtoken" : 1, |
4d47f125 TL |
25839 | "description" : "Creates a TCP VNC proxy connections.", |
25840 | "method" : "POST", | |
25841 | "name" : "vncproxy", | |
25842 | "parameters" : { | |
25843 | "additionalProperties" : 0, | |
25844 | "properties" : { | |
25845 | "height" : { | |
25846 | "description" : "sets the height of the console in pixels.", | |
25847 | "maximum" : 2160, | |
25848 | "minimum" : 16, | |
25849 | "optional" : 1, | |
25850 | "type" : "integer", | |
25851 | "typetext" : "<integer> (16 - 2160)" | |
44660702 | 25852 | }, |
4d47f125 TL |
25853 | "node" : { |
25854 | "description" : "The cluster node name.", | |
25855 | "format" : "pve-node", | |
25856 | "type" : "string", | |
25857 | "typetext" : "<string>" | |
44660702 | 25858 | }, |
4d47f125 TL |
25859 | "vmid" : { |
25860 | "description" : "The (unique) ID of the VM.", | |
25861 | "format" : "pve-vmid", | |
25862 | "minimum" : 1, | |
25863 | "type" : "integer", | |
25864 | "typetext" : "<integer> (1 - N)" | |
25865 | }, | |
25866 | "websocket" : { | |
25867 | "description" : "use websocket instead of standard VNC.", | |
25868 | "optional" : 1, | |
25869 | "type" : "boolean", | |
25870 | "typetext" : "<boolean>" | |
25871 | }, | |
25872 | "width" : { | |
25873 | "description" : "sets the width of the console in pixels.", | |
25874 | "maximum" : 4096, | |
25875 | "minimum" : 16, | |
25876 | "optional" : 1, | |
25877 | "type" : "integer", | |
25878 | "typetext" : "<integer> (16 - 4096)" | |
56122987 DM |
25879 | } |
25880 | } | |
44660702 | 25881 | }, |
4d47f125 TL |
25882 | "permissions" : { |
25883 | "check" : [ | |
25884 | "perm", | |
25885 | "/vms/{vmid}", | |
25886 | [ | |
25887 | "VM.Console" | |
25888 | ] | |
25889 | ] | |
25890 | }, | |
25891 | "protected" : 1, | |
25892 | "returns" : { | |
25893 | "additionalProperties" : 0, | |
25894 | "properties" : { | |
25895 | "cert" : { | |
25896 | "type" : "string" | |
44660702 | 25897 | }, |
4d47f125 TL |
25898 | "port" : { |
25899 | "type" : "integer" | |
25900 | }, | |
25901 | "ticket" : { | |
25902 | "type" : "string" | |
25903 | }, | |
25904 | "upid" : { | |
25905 | "type" : "string" | |
25906 | }, | |
25907 | "user" : { | |
25908 | "type" : "string" | |
25909 | } | |
25910 | } | |
25911 | } | |
25912 | } | |
25913 | }, | |
25914 | "leaf" : 1, | |
25915 | "path" : "/nodes/{node}/lxc/{vmid}/vncproxy", | |
25916 | "text" : "vncproxy" | |
25917 | }, | |
25918 | { | |
25919 | "info" : { | |
25920 | "POST" : { | |
e9cd3bd4 | 25921 | "allowtoken" : 1, |
4d47f125 TL |
25922 | "description" : "Creates a TCP proxy connection.", |
25923 | "method" : "POST", | |
25924 | "name" : "termproxy", | |
25925 | "parameters" : { | |
25926 | "additionalProperties" : 0, | |
25927 | "properties" : { | |
25928 | "node" : { | |
25929 | "description" : "The cluster node name.", | |
25930 | "format" : "pve-node", | |
25931 | "type" : "string", | |
25932 | "typetext" : "<string>" | |
44660702 | 25933 | }, |
4d47f125 TL |
25934 | "vmid" : { |
25935 | "description" : "The (unique) ID of the VM.", | |
25936 | "format" : "pve-vmid", | |
25937 | "minimum" : 1, | |
25938 | "type" : "integer", | |
25939 | "typetext" : "<integer> (1 - N)" | |
44660702 | 25940 | } |
4d47f125 TL |
25941 | } |
25942 | }, | |
25943 | "permissions" : { | |
25944 | "check" : [ | |
25945 | "perm", | |
25946 | "/vms/{vmid}", | |
25947 | [ | |
25948 | "VM.Console" | |
25949 | ] | |
25950 | ] | |
25951 | }, | |
25952 | "protected" : 1, | |
25953 | "returns" : { | |
25954 | "additionalProperties" : 0, | |
25955 | "properties" : { | |
25956 | "port" : { | |
25957 | "type" : "integer" | |
56122987 | 25958 | }, |
4d47f125 TL |
25959 | "ticket" : { |
25960 | "type" : "string" | |
7aacca6f | 25961 | }, |
4d47f125 TL |
25962 | "upid" : { |
25963 | "type" : "string" | |
25964 | }, | |
25965 | "user" : { | |
25966 | "type" : "string" | |
25967 | } | |
25968 | } | |
25969 | } | |
25970 | } | |
25971 | }, | |
25972 | "leaf" : 1, | |
25973 | "path" : "/nodes/{node}/lxc/{vmid}/termproxy", | |
25974 | "text" : "termproxy" | |
25975 | }, | |
25976 | { | |
25977 | "info" : { | |
25978 | "GET" : { | |
e9cd3bd4 | 25979 | "allowtoken" : 1, |
4d47f125 TL |
25980 | "description" : "Opens a weksocket for VNC traffic.", |
25981 | "method" : "GET", | |
25982 | "name" : "vncwebsocket", | |
25983 | "parameters" : { | |
25984 | "additionalProperties" : 0, | |
25985 | "properties" : { | |
25986 | "node" : { | |
25987 | "description" : "The cluster node name.", | |
25988 | "format" : "pve-node", | |
25989 | "type" : "string", | |
25990 | "typetext" : "<string>" | |
25991 | }, | |
25992 | "port" : { | |
25993 | "description" : "Port number returned by previous vncproxy call.", | |
25994 | "maximum" : 5999, | |
25995 | "minimum" : 5900, | |
25996 | "type" : "integer", | |
25997 | "typetext" : "<integer> (5900 - 5999)" | |
25998 | }, | |
25999 | "vmid" : { | |
26000 | "description" : "The (unique) ID of the VM.", | |
26001 | "format" : "pve-vmid", | |
26002 | "minimum" : 1, | |
26003 | "type" : "integer", | |
26004 | "typetext" : "<integer> (1 - N)" | |
26005 | }, | |
26006 | "vncticket" : { | |
26007 | "description" : "Ticket from previous call to vncproxy.", | |
26008 | "maxLength" : 512, | |
26009 | "type" : "string", | |
26010 | "typetext" : "<string>" | |
56122987 DM |
26011 | } |
26012 | } | |
26013 | }, | |
4d47f125 TL |
26014 | "permissions" : { |
26015 | "check" : [ | |
26016 | "perm", | |
26017 | "/vms/{vmid}", | |
26018 | [ | |
26019 | "VM.Console" | |
26020 | ] | |
26021 | ], | |
26022 | "description" : "You also need to pass a valid ticket (vncticket)." | |
26023 | }, | |
26024 | "returns" : { | |
26025 | "properties" : { | |
26026 | "port" : { | |
26027 | "type" : "string" | |
26028 | } | |
26029 | }, | |
26030 | "type" : "object" | |
26031 | } | |
26032 | } | |
26033 | }, | |
26034 | "leaf" : 1, | |
26035 | "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket", | |
26036 | "text" : "vncwebsocket" | |
26037 | }, | |
26038 | { | |
26039 | "info" : { | |
26040 | "POST" : { | |
e9cd3bd4 | 26041 | "allowtoken" : 1, |
4d47f125 TL |
26042 | "description" : "Returns a SPICE configuration to connect to the CT.", |
26043 | "method" : "POST", | |
26044 | "name" : "spiceproxy", | |
26045 | "parameters" : { | |
26046 | "additionalProperties" : 0, | |
26047 | "properties" : { | |
26048 | "node" : { | |
26049 | "description" : "The cluster node name.", | |
26050 | "format" : "pve-node", | |
26051 | "type" : "string", | |
26052 | "typetext" : "<string>" | |
56122987 | 26053 | }, |
4d47f125 TL |
26054 | "proxy" : { |
26055 | "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 reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", | |
26056 | "format" : "address", | |
26057 | "optional" : 1, | |
26058 | "type" : "string", | |
26059 | "typetext" : "<string>" | |
44660702 | 26060 | }, |
4d47f125 TL |
26061 | "vmid" : { |
26062 | "description" : "The (unique) ID of the VM.", | |
26063 | "format" : "pve-vmid", | |
26064 | "minimum" : 1, | |
26065 | "type" : "integer", | |
26066 | "typetext" : "<integer> (1 - N)" | |
44660702 | 26067 | } |
56122987 DM |
26068 | } |
26069 | }, | |
4d47f125 TL |
26070 | "permissions" : { |
26071 | "check" : [ | |
26072 | "perm", | |
26073 | "/vms/{vmid}", | |
26074 | [ | |
26075 | "VM.Console" | |
26076 | ] | |
26077 | ] | |
26078 | }, | |
26079 | "protected" : 1, | |
26080 | "proxyto" : "node", | |
26081 | "returns" : { | |
26082 | "additionalProperties" : 1, | |
26083 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", | |
26084 | "properties" : { | |
26085 | "host" : { | |
26086 | "type" : "string" | |
26087 | }, | |
26088 | "password" : { | |
26089 | "type" : "string" | |
26090 | }, | |
26091 | "proxy" : { | |
26092 | "type" : "string" | |
26093 | }, | |
26094 | "tls-port" : { | |
26095 | "type" : "integer" | |
26096 | }, | |
26097 | "type" : { | |
26098 | "type" : "string" | |
26099 | } | |
26100 | } | |
26101 | } | |
26102 | } | |
26103 | }, | |
26104 | "leaf" : 1, | |
26105 | "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy", | |
26106 | "text" : "spiceproxy" | |
26107 | }, | |
26108 | { | |
26109 | "info" : { | |
26110 | "POST" : { | |
e9cd3bd4 | 26111 | "allowtoken" : 1, |
4d47f125 TL |
26112 | "description" : "Migrate the container to another node. Creates a new migration task.", |
26113 | "method" : "POST", | |
26114 | "name" : "migrate_vm", | |
26115 | "parameters" : { | |
26116 | "additionalProperties" : 0, | |
26117 | "properties" : { | |
95895385 TL |
26118 | "bwlimit" : { |
26119 | "default" : "migrate limit from datacenter or storage config", | |
26120 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
26121 | "minimum" : "0", | |
26122 | "optional" : 1, | |
26123 | "type" : "number", | |
26124 | "typetext" : "<number> (0 - N)" | |
26125 | }, | |
4d47f125 TL |
26126 | "force" : { |
26127 | "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.", | |
26128 | "optional" : 1, | |
26129 | "type" : "boolean", | |
26130 | "typetext" : "<boolean>" | |
56122987 | 26131 | }, |
4d47f125 TL |
26132 | "node" : { |
26133 | "description" : "The cluster node name.", | |
26134 | "format" : "pve-node", | |
26135 | "type" : "string", | |
26136 | "typetext" : "<string>" | |
44660702 | 26137 | }, |
4d47f125 TL |
26138 | "online" : { |
26139 | "description" : "Use online/live migration.", | |
26140 | "optional" : 1, | |
26141 | "type" : "boolean", | |
26142 | "typetext" : "<boolean>" | |
26143 | }, | |
26144 | "restart" : { | |
26145 | "description" : "Use restart migration", | |
26146 | "optional" : 1, | |
26147 | "type" : "boolean", | |
26148 | "typetext" : "<boolean>" | |
26149 | }, | |
26150 | "target" : { | |
26151 | "description" : "Target node.", | |
26152 | "format" : "pve-node", | |
26153 | "type" : "string", | |
26154 | "typetext" : "<string>" | |
26155 | }, | |
26156 | "timeout" : { | |
26157 | "default" : 180, | |
26158 | "description" : "Timeout in seconds for shutdown for restart migration", | |
26159 | "optional" : 1, | |
26160 | "type" : "integer", | |
26161 | "typetext" : "<integer>" | |
26162 | }, | |
26163 | "vmid" : { | |
26164 | "description" : "The (unique) ID of the VM.", | |
26165 | "format" : "pve-vmid", | |
26166 | "minimum" : 1, | |
26167 | "type" : "integer", | |
26168 | "typetext" : "<integer> (1 - N)" | |
56122987 DM |
26169 | } |
26170 | } | |
26171 | }, | |
4d47f125 TL |
26172 | "permissions" : { |
26173 | "check" : [ | |
26174 | "perm", | |
26175 | "/vms/{vmid}", | |
26176 | [ | |
26177 | "VM.Migrate" | |
26178 | ] | |
26179 | ] | |
26180 | }, | |
26181 | "protected" : 1, | |
26182 | "proxyto" : "node", | |
26183 | "returns" : { | |
26184 | "description" : "the task ID.", | |
26185 | "type" : "string" | |
26186 | } | |
56122987 | 26187 | } |
4d47f125 TL |
26188 | }, |
26189 | "leaf" : 1, | |
26190 | "path" : "/nodes/{node}/lxc/{vmid}/migrate", | |
26191 | "text" : "migrate" | |
26192 | }, | |
26193 | { | |
56122987 DM |
26194 | "info" : { |
26195 | "GET" : { | |
e9cd3bd4 | 26196 | "allowtoken" : 1, |
4d47f125 | 26197 | "description" : "Check if feature for virtual machine is available.", |
44660702 | 26198 | "method" : "GET", |
4d47f125 | 26199 | "name" : "vm_feature", |
56122987 | 26200 | "parameters" : { |
44660702 | 26201 | "additionalProperties" : 0, |
56122987 | 26202 | "properties" : { |
4d47f125 TL |
26203 | "feature" : { |
26204 | "description" : "Feature to check.", | |
26205 | "enum" : [ | |
26206 | "snapshot", | |
26207 | "clone", | |
26208 | "copy" | |
26209 | ], | |
26210 | "type" : "string" | |
26211 | }, | |
56122987 | 26212 | "node" : { |
44660702 | 26213 | "description" : "The cluster node name.", |
56122987 | 26214 | "format" : "pve-node", |
013dc89f DM |
26215 | "type" : "string", |
26216 | "typetext" : "<string>" | |
44660702 | 26217 | }, |
4d47f125 TL |
26218 | "snapname" : { |
26219 | "description" : "The name of the snapshot.", | |
26220 | "format" : "pve-configid", | |
26221 | "maxLength" : 40, | |
26222 | "optional" : 1, | |
26223 | "type" : "string", | |
26224 | "typetext" : "<string>" | |
26225 | }, | |
44660702 DM |
26226 | "vmid" : { |
26227 | "description" : "The (unique) ID of the VM.", | |
26228 | "format" : "pve-vmid", | |
26229 | "minimum" : 1, | |
4bd7df8b | 26230 | "type" : "integer", |
013dc89f | 26231 | "typetext" : "<integer> (1 - N)" |
56122987 | 26232 | } |
44660702 DM |
26233 | } |
26234 | }, | |
26235 | "permissions" : { | |
4d47f125 TL |
26236 | "check" : [ |
26237 | "perm", | |
26238 | "/vms/{vmid}", | |
26239 | [ | |
26240 | "VM.Audit" | |
26241 | ] | |
26242 | ] | |
56122987 | 26243 | }, |
4d47f125 TL |
26244 | "protected" : 1, |
26245 | "proxyto" : "node", | |
56122987 | 26246 | "returns" : { |
4d47f125 TL |
26247 | "properties" : { |
26248 | "hasFeature" : { | |
26249 | "type" : "boolean" | |
26250 | } | |
7aacca6f | 26251 | }, |
4d47f125 TL |
26252 | "type" : "object" |
26253 | } | |
26254 | } | |
26255 | }, | |
26256 | "leaf" : 1, | |
26257 | "path" : "/nodes/{node}/lxc/{vmid}/feature", | |
26258 | "text" : "feature" | |
26259 | }, | |
26260 | { | |
26261 | "info" : { | |
26262 | "POST" : { | |
e9cd3bd4 | 26263 | "allowtoken" : 1, |
4d47f125 TL |
26264 | "description" : "Create a Template.", |
26265 | "method" : "POST", | |
26266 | "name" : "template", | |
26267 | "parameters" : { | |
26268 | "additionalProperties" : 0, | |
26269 | "properties" : { | |
26270 | "node" : { | |
26271 | "description" : "The cluster node name.", | |
26272 | "format" : "pve-node", | |
26273 | "type" : "string", | |
26274 | "typetext" : "<string>" | |
26275 | }, | |
26276 | "vmid" : { | |
26277 | "description" : "The (unique) ID of the VM.", | |
26278 | "format" : "pve-vmid", | |
26279 | "minimum" : 1, | |
26280 | "type" : "integer", | |
26281 | "typetext" : "<integer> (1 - N)" | |
56122987 | 26282 | } |
4d47f125 TL |
26283 | } |
26284 | }, | |
26285 | "permissions" : { | |
26286 | "check" : [ | |
26287 | "perm", | |
26288 | "/vms/{vmid}", | |
26289 | [ | |
26290 | "VM.Allocate" | |
26291 | ] | |
44660702 | 26292 | ], |
4d47f125 TL |
26293 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}" |
26294 | }, | |
26295 | "protected" : 1, | |
26296 | "proxyto" : "node", | |
26297 | "returns" : { | |
26298 | "type" : "null" | |
56122987 DM |
26299 | } |
26300 | } | |
26301 | }, | |
4d47f125 TL |
26302 | "leaf" : 1, |
26303 | "path" : "/nodes/{node}/lxc/{vmid}/template", | |
26304 | "text" : "template" | |
56122987 DM |
26305 | }, |
26306 | { | |
56122987 | 26307 | "info" : { |
4d47f125 | 26308 | "POST" : { |
e9cd3bd4 | 26309 | "allowtoken" : 1, |
4d47f125 TL |
26310 | "description" : "Create a container clone/copy", |
26311 | "method" : "POST", | |
26312 | "name" : "clone_vm", | |
56122987 | 26313 | "parameters" : { |
7aacca6f | 26314 | "additionalProperties" : 0, |
56122987 | 26315 | "properties" : { |
95895385 TL |
26316 | "bwlimit" : { |
26317 | "default" : "clone limit from datacenter or storage config", | |
26318 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
26319 | "minimum" : "0", | |
26320 | "optional" : 1, | |
26321 | "type" : "number", | |
26322 | "typetext" : "<number> (0 - N)" | |
26323 | }, | |
4d47f125 TL |
26324 | "description" : { |
26325 | "description" : "Description for the new CT.", | |
44660702 | 26326 | "optional" : 1, |
4d47f125 TL |
26327 | "type" : "string", |
26328 | "typetext" : "<string>" | |
44660702 | 26329 | }, |
4d47f125 TL |
26330 | "full" : { |
26331 | "description" : "Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.", | |
26332 | "optional" : 1, | |
26333 | "type" : "boolean", | |
26334 | "typetext" : "<boolean>" | |
26335 | }, | |
26336 | "hostname" : { | |
26337 | "description" : "Set a hostname for the new CT.", | |
26338 | "format" : "dns-name", | |
26339 | "optional" : 1, | |
013dc89f DM |
26340 | "type" : "string", |
26341 | "typetext" : "<string>" | |
44660702 | 26342 | }, |
4d47f125 TL |
26343 | "newid" : { |
26344 | "description" : "VMID for the clone.", | |
26345 | "format" : "pve-vmid", | |
26346 | "minimum" : 1, | |
26347 | "type" : "integer", | |
26348 | "typetext" : "<integer> (1 - N)" | |
26349 | }, | |
7aacca6f DM |
26350 | "node" : { |
26351 | "description" : "The cluster node name.", | |
44660702 | 26352 | "format" : "pve-node", |
013dc89f DM |
26353 | "type" : "string", |
26354 | "typetext" : "<string>" | |
56122987 | 26355 | }, |
4d47f125 TL |
26356 | "pool" : { |
26357 | "description" : "Add the new CT to the specified pool.", | |
26358 | "format" : "pve-poolid", | |
26359 | "optional" : 1, | |
26360 | "type" : "string", | |
26361 | "typetext" : "<string>" | |
26362 | }, | |
26363 | "snapname" : { | |
26364 | "description" : "The name of the snapshot.", | |
26365 | "format" : "pve-configid", | |
26366 | "maxLength" : 40, | |
26367 | "optional" : 1, | |
26368 | "type" : "string", | |
26369 | "typetext" : "<string>" | |
26370 | }, | |
26371 | "storage" : { | |
26372 | "description" : "Target storage for full clone.", | |
26373 | "format" : "pve-storage-id", | |
26374 | "optional" : 1, | |
26375 | "type" : "string", | |
26376 | "typetext" : "<string>" | |
26377 | }, | |
26378 | "target" : { | |
26379 | "description" : "Target node. Only allowed if the original VM is on shared storage.", | |
26380 | "format" : "pve-node", | |
26381 | "optional" : 1, | |
26382 | "type" : "string", | |
26383 | "typetext" : "<string>" | |
26384 | }, | |
7aacca6f | 26385 | "vmid" : { |
44660702 | 26386 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
26387 | "format" : "pve-vmid", |
26388 | "minimum" : 1, | |
4bd7df8b | 26389 | "type" : "integer", |
013dc89f | 26390 | "typetext" : "<integer> (1 - N)" |
56122987 | 26391 | } |
7aacca6f DM |
26392 | } |
26393 | }, | |
26394 | "permissions" : { | |
26395 | "check" : [ | |
4d47f125 | 26396 | "and", |
7aacca6f | 26397 | [ |
4d47f125 TL |
26398 | "perm", |
26399 | "/vms/{vmid}", | |
26400 | [ | |
26401 | "VM.Clone" | |
26402 | ] | |
26403 | ], | |
26404 | [ | |
26405 | "or", | |
26406 | [ | |
26407 | "perm", | |
26408 | "/vms/{newid}", | |
26409 | [ | |
26410 | "VM.Allocate" | |
26411 | ] | |
26412 | ], | |
26413 | [ | |
26414 | "perm", | |
26415 | "/pool/{pool}", | |
26416 | [ | |
26417 | "VM.Allocate" | |
26418 | ], | |
26419 | "require_param", | |
26420 | "pool" | |
26421 | ] | |
7aacca6f | 26422 | ] |
4d47f125 TL |
26423 | ], |
26424 | "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 | 26425 | }, |
44660702 | 26426 | "protected" : 1, |
4d47f125 | 26427 | "proxyto" : "node", |
7aacca6f | 26428 | "returns" : { |
4d47f125 | 26429 | "type" : "string" |
7aacca6f | 26430 | } |
56122987 | 26431 | } |
7aacca6f | 26432 | }, |
44660702 | 26433 | "leaf" : 1, |
4d47f125 TL |
26434 | "path" : "/nodes/{node}/lxc/{vmid}/clone", |
26435 | "text" : "clone" | |
56122987 DM |
26436 | }, |
26437 | { | |
56122987 | 26438 | "info" : { |
4d47f125 | 26439 | "PUT" : { |
e9cd3bd4 | 26440 | "allowtoken" : 1, |
4d47f125 TL |
26441 | "description" : "Resize a container mount point.", |
26442 | "method" : "PUT", | |
26443 | "name" : "resize_vm", | |
56122987 | 26444 | "parameters" : { |
7aacca6f | 26445 | "additionalProperties" : 0, |
56122987 | 26446 | "properties" : { |
4d47f125 TL |
26447 | "digest" : { |
26448 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
26449 | "maxLength" : 40, | |
26450 | "optional" : 1, | |
26451 | "type" : "string", | |
26452 | "typetext" : "<string>" | |
26453 | }, | |
26454 | "disk" : { | |
26455 | "description" : "The disk you want to resize.", | |
44660702 | 26456 | "enum" : [ |
4d47f125 TL |
26457 | "rootfs", |
26458 | "mp0", | |
26459 | "mp1", | |
26460 | "mp2", | |
26461 | "mp3", | |
26462 | "mp4", | |
26463 | "mp5", | |
26464 | "mp6", | |
26465 | "mp7", | |
26466 | "mp8", | |
26467 | "mp9", | |
26468 | "mp10", | |
26469 | "mp11", | |
26470 | "mp12", | |
26471 | "mp13", | |
26472 | "mp14", | |
26473 | "mp15", | |
26474 | "mp16", | |
26475 | "mp17", | |
26476 | "mp18", | |
26477 | "mp19", | |
26478 | "mp20", | |
26479 | "mp21", | |
26480 | "mp22", | |
26481 | "mp23", | |
26482 | "mp24", | |
26483 | "mp25", | |
26484 | "mp26", | |
26485 | "mp27", | |
26486 | "mp28", | |
26487 | "mp29", | |
26488 | "mp30", | |
26489 | "mp31", | |
26490 | "mp32", | |
26491 | "mp33", | |
26492 | "mp34", | |
26493 | "mp35", | |
26494 | "mp36", | |
26495 | "mp37", | |
26496 | "mp38", | |
26497 | "mp39", | |
26498 | "mp40", | |
26499 | "mp41", | |
26500 | "mp42", | |
26501 | "mp43", | |
26502 | "mp44", | |
26503 | "mp45", | |
26504 | "mp46", | |
26505 | "mp47", | |
26506 | "mp48", | |
26507 | "mp49", | |
26508 | "mp50", | |
26509 | "mp51", | |
26510 | "mp52", | |
26511 | "mp53", | |
26512 | "mp54", | |
26513 | "mp55", | |
26514 | "mp56", | |
26515 | "mp57", | |
26516 | "mp58", | |
26517 | "mp59", | |
26518 | "mp60", | |
26519 | "mp61", | |
26520 | "mp62", | |
26521 | "mp63", | |
26522 | "mp64", | |
26523 | "mp65", | |
26524 | "mp66", | |
26525 | "mp67", | |
26526 | "mp68", | |
26527 | "mp69", | |
26528 | "mp70", | |
26529 | "mp71", | |
26530 | "mp72", | |
26531 | "mp73", | |
26532 | "mp74", | |
26533 | "mp75", | |
26534 | "mp76", | |
26535 | "mp77", | |
26536 | "mp78", | |
26537 | "mp79", | |
26538 | "mp80", | |
26539 | "mp81", | |
26540 | "mp82", | |
26541 | "mp83", | |
26542 | "mp84", | |
26543 | "mp85", | |
26544 | "mp86", | |
26545 | "mp87", | |
26546 | "mp88", | |
26547 | "mp89", | |
26548 | "mp90", | |
26549 | "mp91", | |
26550 | "mp92", | |
26551 | "mp93", | |
26552 | "mp94", | |
26553 | "mp95", | |
26554 | "mp96", | |
26555 | "mp97", | |
26556 | "mp98", | |
26557 | "mp99", | |
26558 | "mp100", | |
26559 | "mp101", | |
26560 | "mp102", | |
26561 | "mp103", | |
26562 | "mp104", | |
26563 | "mp105", | |
26564 | "mp106", | |
26565 | "mp107", | |
26566 | "mp108", | |
26567 | "mp109", | |
26568 | "mp110", | |
26569 | "mp111", | |
26570 | "mp112", | |
26571 | "mp113", | |
26572 | "mp114", | |
26573 | "mp115", | |
26574 | "mp116", | |
26575 | "mp117", | |
26576 | "mp118", | |
26577 | "mp119", | |
26578 | "mp120", | |
26579 | "mp121", | |
26580 | "mp122", | |
26581 | "mp123", | |
26582 | "mp124", | |
26583 | "mp125", | |
26584 | "mp126", | |
26585 | "mp127", | |
26586 | "mp128", | |
26587 | "mp129", | |
26588 | "mp130", | |
26589 | "mp131", | |
26590 | "mp132", | |
26591 | "mp133", | |
26592 | "mp134", | |
26593 | "mp135", | |
26594 | "mp136", | |
26595 | "mp137", | |
26596 | "mp138", | |
26597 | "mp139", | |
26598 | "mp140", | |
26599 | "mp141", | |
26600 | "mp142", | |
26601 | "mp143", | |
26602 | "mp144", | |
26603 | "mp145", | |
26604 | "mp146", | |
26605 | "mp147", | |
26606 | "mp148", | |
26607 | "mp149", | |
26608 | "mp150", | |
26609 | "mp151", | |
26610 | "mp152", | |
26611 | "mp153", | |
26612 | "mp154", | |
26613 | "mp155", | |
26614 | "mp156", | |
26615 | "mp157", | |
26616 | "mp158", | |
26617 | "mp159", | |
26618 | "mp160", | |
26619 | "mp161", | |
26620 | "mp162", | |
26621 | "mp163", | |
26622 | "mp164", | |
26623 | "mp165", | |
26624 | "mp166", | |
26625 | "mp167", | |
26626 | "mp168", | |
26627 | "mp169", | |
26628 | "mp170", | |
26629 | "mp171", | |
26630 | "mp172", | |
26631 | "mp173", | |
26632 | "mp174", | |
26633 | "mp175", | |
26634 | "mp176", | |
26635 | "mp177", | |
26636 | "mp178", | |
26637 | "mp179", | |
26638 | "mp180", | |
26639 | "mp181", | |
26640 | "mp182", | |
26641 | "mp183", | |
26642 | "mp184", | |
26643 | "mp185", | |
26644 | "mp186", | |
26645 | "mp187", | |
26646 | "mp188", | |
26647 | "mp189", | |
26648 | "mp190", | |
26649 | "mp191", | |
26650 | "mp192", | |
26651 | "mp193", | |
26652 | "mp194", | |
26653 | "mp195", | |
26654 | "mp196", | |
26655 | "mp197", | |
26656 | "mp198", | |
26657 | "mp199", | |
26658 | "mp200", | |
26659 | "mp201", | |
26660 | "mp202", | |
26661 | "mp203", | |
26662 | "mp204", | |
26663 | "mp205", | |
26664 | "mp206", | |
26665 | "mp207", | |
26666 | "mp208", | |
26667 | "mp209", | |
26668 | "mp210", | |
26669 | "mp211", | |
26670 | "mp212", | |
26671 | "mp213", | |
26672 | "mp214", | |
26673 | "mp215", | |
26674 | "mp216", | |
26675 | "mp217", | |
26676 | "mp218", | |
26677 | "mp219", | |
26678 | "mp220", | |
26679 | "mp221", | |
26680 | "mp222", | |
26681 | "mp223", | |
26682 | "mp224", | |
26683 | "mp225", | |
26684 | "mp226", | |
26685 | "mp227", | |
26686 | "mp228", | |
26687 | "mp229", | |
26688 | "mp230", | |
26689 | "mp231", | |
26690 | "mp232", | |
26691 | "mp233", | |
26692 | "mp234", | |
26693 | "mp235", | |
26694 | "mp236", | |
26695 | "mp237", | |
26696 | "mp238", | |
26697 | "mp239", | |
26698 | "mp240", | |
26699 | "mp241", | |
26700 | "mp242", | |
26701 | "mp243", | |
26702 | "mp244", | |
26703 | "mp245", | |
26704 | "mp246", | |
26705 | "mp247", | |
26706 | "mp248", | |
26707 | "mp249", | |
26708 | "mp250", | |
26709 | "mp251", | |
26710 | "mp252", | |
26711 | "mp253", | |
26712 | "mp254", | |
26713 | "mp255" | |
44660702 | 26714 | ], |
44660702 DM |
26715 | "type" : "string" |
26716 | }, | |
7aacca6f | 26717 | "node" : { |
44660702 | 26718 | "description" : "The cluster node name.", |
7aacca6f | 26719 | "format" : "pve-node", |
013dc89f DM |
26720 | "type" : "string", |
26721 | "typetext" : "<string>" | |
7aacca6f | 26722 | }, |
4d47f125 TL |
26723 | "size" : { |
26724 | "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.", | |
26725 | "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?", | |
44660702 | 26726 | "type" : "string" |
7aacca6f DM |
26727 | }, |
26728 | "vmid" : { | |
26729 | "description" : "The (unique) ID of the VM.", | |
44660702 | 26730 | "format" : "pve-vmid", |
7aacca6f | 26731 | "minimum" : 1, |
4bd7df8b | 26732 | "type" : "integer", |
013dc89f | 26733 | "typetext" : "<integer> (1 - N)" |
56122987 | 26734 | } |
56122987 DM |
26735 | } |
26736 | }, | |
56122987 DM |
26737 | "permissions" : { |
26738 | "check" : [ | |
26739 | "perm", | |
26740 | "/vms/{vmid}", | |
26741 | [ | |
4d47f125 TL |
26742 | "VM.Config.Disk" |
26743 | ], | |
26744 | "any", | |
26745 | 1 | |
56122987 DM |
26746 | ] |
26747 | }, | |
7aacca6f | 26748 | "protected" : 1, |
4d47f125 | 26749 | "proxyto" : "node", |
7aacca6f | 26750 | "returns" : { |
4d47f125 TL |
26751 | "description" : "the task ID.", |
26752 | "type" : "string" | |
44660702 | 26753 | } |
56122987 DM |
26754 | } |
26755 | }, | |
44660702 | 26756 | "leaf" : 1, |
4d47f125 TL |
26757 | "path" : "/nodes/{node}/lxc/{vmid}/resize", |
26758 | "text" : "resize" | |
56122987 DM |
26759 | }, |
26760 | { | |
26761 | "info" : { | |
26762 | "POST" : { | |
e9cd3bd4 | 26763 | "allowtoken" : 1, |
4d47f125 | 26764 | "description" : "Move a rootfs-/mp-volume to a different storage", |
44660702 | 26765 | "method" : "POST", |
4d47f125 | 26766 | "name" : "move_volume", |
7aacca6f | 26767 | "parameters" : { |
44660702 | 26768 | "additionalProperties" : 0, |
7aacca6f | 26769 | "properties" : { |
95895385 TL |
26770 | "bwlimit" : { |
26771 | "default" : "clone limit from datacenter or storage config", | |
26772 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
26773 | "minimum" : "0", | |
26774 | "optional" : 1, | |
26775 | "type" : "number", | |
26776 | "typetext" : "<number> (0 - N)" | |
26777 | }, | |
4d47f125 TL |
26778 | "delete" : { |
26779 | "default" : 0, | |
26780 | "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.", | |
5d9c884c | 26781 | "optional" : 1, |
4d47f125 TL |
26782 | "type" : "boolean", |
26783 | "typetext" : "<boolean>" | |
26784 | }, | |
26785 | "digest" : { | |
26786 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
26787 | "maxLength" : 40, | |
26788 | "optional" : 1, | |
26789 | "type" : "string", | |
26790 | "typetext" : "<string>" | |
5d9c884c | 26791 | }, |
44660702 DM |
26792 | "node" : { |
26793 | "description" : "The cluster node name.", | |
26794 | "format" : "pve-node", | |
013dc89f DM |
26795 | "type" : "string", |
26796 | "typetext" : "<string>" | |
44660702 | 26797 | }, |
4d47f125 TL |
26798 | "storage" : { |
26799 | "description" : "Target Storage.", | |
26800 | "format" : "pve-storage-id", | |
26801 | "type" : "string", | |
26802 | "typetext" : "<string>" | |
26803 | }, | |
7aacca6f | 26804 | "vmid" : { |
44660702 | 26805 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
26806 | "format" : "pve-vmid", |
26807 | "minimum" : 1, | |
4bd7df8b | 26808 | "type" : "integer", |
013dc89f | 26809 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 26810 | }, |
4d47f125 TL |
26811 | "volume" : { |
26812 | "description" : "Volume which will be moved.", | |
26813 | "enum" : [ | |
26814 | "rootfs", | |
26815 | "mp0", | |
26816 | "mp1", | |
26817 | "mp2", | |
26818 | "mp3", | |
26819 | "mp4", | |
26820 | "mp5", | |
26821 | "mp6", | |
26822 | "mp7", | |
26823 | "mp8", | |
26824 | "mp9", | |
26825 | "mp10", | |
26826 | "mp11", | |
26827 | "mp12", | |
26828 | "mp13", | |
26829 | "mp14", | |
26830 | "mp15", | |
26831 | "mp16", | |
26832 | "mp17", | |
26833 | "mp18", | |
26834 | "mp19", | |
26835 | "mp20", | |
26836 | "mp21", | |
26837 | "mp22", | |
26838 | "mp23", | |
26839 | "mp24", | |
26840 | "mp25", | |
26841 | "mp26", | |
26842 | "mp27", | |
26843 | "mp28", | |
26844 | "mp29", | |
26845 | "mp30", | |
26846 | "mp31", | |
26847 | "mp32", | |
26848 | "mp33", | |
26849 | "mp34", | |
26850 | "mp35", | |
26851 | "mp36", | |
26852 | "mp37", | |
26853 | "mp38", | |
26854 | "mp39", | |
26855 | "mp40", | |
26856 | "mp41", | |
26857 | "mp42", | |
26858 | "mp43", | |
26859 | "mp44", | |
26860 | "mp45", | |
26861 | "mp46", | |
26862 | "mp47", | |
26863 | "mp48", | |
26864 | "mp49", | |
26865 | "mp50", | |
26866 | "mp51", | |
26867 | "mp52", | |
26868 | "mp53", | |
26869 | "mp54", | |
26870 | "mp55", | |
26871 | "mp56", | |
26872 | "mp57", | |
26873 | "mp58", | |
26874 | "mp59", | |
26875 | "mp60", | |
26876 | "mp61", | |
26877 | "mp62", | |
26878 | "mp63", | |
26879 | "mp64", | |
26880 | "mp65", | |
26881 | "mp66", | |
26882 | "mp67", | |
26883 | "mp68", | |
26884 | "mp69", | |
26885 | "mp70", | |
26886 | "mp71", | |
26887 | "mp72", | |
26888 | "mp73", | |
26889 | "mp74", | |
26890 | "mp75", | |
26891 | "mp76", | |
26892 | "mp77", | |
26893 | "mp78", | |
26894 | "mp79", | |
26895 | "mp80", | |
26896 | "mp81", | |
26897 | "mp82", | |
26898 | "mp83", | |
26899 | "mp84", | |
26900 | "mp85", | |
26901 | "mp86", | |
26902 | "mp87", | |
26903 | "mp88", | |
26904 | "mp89", | |
26905 | "mp90", | |
26906 | "mp91", | |
26907 | "mp92", | |
26908 | "mp93", | |
26909 | "mp94", | |
26910 | "mp95", | |
26911 | "mp96", | |
26912 | "mp97", | |
26913 | "mp98", | |
26914 | "mp99", | |
26915 | "mp100", | |
26916 | "mp101", | |
26917 | "mp102", | |
26918 | "mp103", | |
26919 | "mp104", | |
26920 | "mp105", | |
26921 | "mp106", | |
26922 | "mp107", | |
26923 | "mp108", | |
26924 | "mp109", | |
26925 | "mp110", | |
26926 | "mp111", | |
26927 | "mp112", | |
26928 | "mp113", | |
26929 | "mp114", | |
26930 | "mp115", | |
26931 | "mp116", | |
26932 | "mp117", | |
26933 | "mp118", | |
26934 | "mp119", | |
26935 | "mp120", | |
26936 | "mp121", | |
26937 | "mp122", | |
26938 | "mp123", | |
26939 | "mp124", | |
26940 | "mp125", | |
26941 | "mp126", | |
26942 | "mp127", | |
26943 | "mp128", | |
26944 | "mp129", | |
26945 | "mp130", | |
26946 | "mp131", | |
26947 | "mp132", | |
26948 | "mp133", | |
26949 | "mp134", | |
26950 | "mp135", | |
26951 | "mp136", | |
26952 | "mp137", | |
26953 | "mp138", | |
26954 | "mp139", | |
26955 | "mp140", | |
26956 | "mp141", | |
26957 | "mp142", | |
26958 | "mp143", | |
26959 | "mp144", | |
26960 | "mp145", | |
26961 | "mp146", | |
26962 | "mp147", | |
26963 | "mp148", | |
26964 | "mp149", | |
26965 | "mp150", | |
26966 | "mp151", | |
26967 | "mp152", | |
26968 | "mp153", | |
26969 | "mp154", | |
26970 | "mp155", | |
26971 | "mp156", | |
26972 | "mp157", | |
26973 | "mp158", | |
26974 | "mp159", | |
26975 | "mp160", | |
26976 | "mp161", | |
26977 | "mp162", | |
26978 | "mp163", | |
26979 | "mp164", | |
26980 | "mp165", | |
26981 | "mp166", | |
26982 | "mp167", | |
26983 | "mp168", | |
26984 | "mp169", | |
26985 | "mp170", | |
26986 | "mp171", | |
26987 | "mp172", | |
26988 | "mp173", | |
26989 | "mp174", | |
26990 | "mp175", | |
26991 | "mp176", | |
26992 | "mp177", | |
26993 | "mp178", | |
26994 | "mp179", | |
26995 | "mp180", | |
26996 | "mp181", | |
26997 | "mp182", | |
26998 | "mp183", | |
26999 | "mp184", | |
27000 | "mp185", | |
27001 | "mp186", | |
27002 | "mp187", | |
27003 | "mp188", | |
27004 | "mp189", | |
27005 | "mp190", | |
27006 | "mp191", | |
27007 | "mp192", | |
27008 | "mp193", | |
27009 | "mp194", | |
27010 | "mp195", | |
27011 | "mp196", | |
27012 | "mp197", | |
27013 | "mp198", | |
27014 | "mp199", | |
27015 | "mp200", | |
27016 | "mp201", | |
27017 | "mp202", | |
27018 | "mp203", | |
27019 | "mp204", | |
27020 | "mp205", | |
27021 | "mp206", | |
27022 | "mp207", | |
27023 | "mp208", | |
27024 | "mp209", | |
27025 | "mp210", | |
27026 | "mp211", | |
27027 | "mp212", | |
27028 | "mp213", | |
27029 | "mp214", | |
27030 | "mp215", | |
27031 | "mp216", | |
27032 | "mp217", | |
27033 | "mp218", | |
27034 | "mp219", | |
27035 | "mp220", | |
27036 | "mp221", | |
27037 | "mp222", | |
27038 | "mp223", | |
27039 | "mp224", | |
27040 | "mp225", | |
27041 | "mp226", | |
27042 | "mp227", | |
27043 | "mp228", | |
27044 | "mp229", | |
27045 | "mp230", | |
27046 | "mp231", | |
27047 | "mp232", | |
27048 | "mp233", | |
27049 | "mp234", | |
27050 | "mp235", | |
27051 | "mp236", | |
27052 | "mp237", | |
27053 | "mp238", | |
27054 | "mp239", | |
27055 | "mp240", | |
27056 | "mp241", | |
27057 | "mp242", | |
27058 | "mp243", | |
27059 | "mp244", | |
27060 | "mp245", | |
27061 | "mp246", | |
27062 | "mp247", | |
27063 | "mp248", | |
27064 | "mp249", | |
27065 | "mp250", | |
27066 | "mp251", | |
27067 | "mp252", | |
27068 | "mp253", | |
27069 | "mp254", | |
27070 | "mp255" | |
27071 | ], | |
27072 | "type" : "string" | |
7aacca6f | 27073 | } |
44660702 | 27074 | } |
7aacca6f | 27075 | }, |
56122987 DM |
27076 | "permissions" : { |
27077 | "check" : [ | |
4d47f125 | 27078 | "and", |
56122987 | 27079 | [ |
4d47f125 TL |
27080 | "perm", |
27081 | "/vms/{vmid}", | |
27082 | [ | |
27083 | "VM.Config.Disk" | |
27084 | ] | |
27085 | ], | |
27086 | [ | |
27087 | "perm", | |
27088 | "/storage/{storage}", | |
27089 | [ | |
27090 | "Datastore.AllocateSpace" | |
27091 | ] | |
56122987 | 27092 | ] |
4d47f125 TL |
27093 | ], |
27094 | "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage." | |
27095 | }, | |
27096 | "protected" : 1, | |
27097 | "proxyto" : "node", | |
27098 | "returns" : { | |
27099 | "type" : "string" | |
27100 | } | |
27101 | } | |
27102 | }, | |
27103 | "leaf" : 1, | |
27104 | "path" : "/nodes/{node}/lxc/{vmid}/move_volume", | |
27105 | "text" : "move_volume" | |
1c532546 TL |
27106 | }, |
27107 | { | |
27108 | "info" : { | |
27109 | "GET" : { | |
e9cd3bd4 | 27110 | "allowtoken" : 1, |
1c532546 TL |
27111 | "description" : "Get container configuration, including pending changes.", |
27112 | "method" : "GET", | |
27113 | "name" : "vm_pending", | |
27114 | "parameters" : { | |
27115 | "additionalProperties" : 0, | |
27116 | "properties" : { | |
27117 | "node" : { | |
27118 | "description" : "The cluster node name.", | |
27119 | "format" : "pve-node", | |
27120 | "type" : "string", | |
27121 | "typetext" : "<string>" | |
27122 | }, | |
27123 | "vmid" : { | |
27124 | "description" : "The (unique) ID of the VM.", | |
27125 | "format" : "pve-vmid", | |
27126 | "minimum" : 1, | |
27127 | "type" : "integer", | |
27128 | "typetext" : "<integer> (1 - N)" | |
27129 | } | |
27130 | } | |
27131 | }, | |
27132 | "permissions" : { | |
27133 | "check" : [ | |
27134 | "perm", | |
27135 | "/vms/{vmid}", | |
27136 | [ | |
27137 | "VM.Audit" | |
27138 | ] | |
27139 | ] | |
27140 | }, | |
27141 | "proxyto" : "node", | |
27142 | "returns" : { | |
27143 | "items" : { | |
27144 | "properties" : { | |
27145 | "delete" : { | |
27146 | "description" : "Indicates a pending delete request if present and not 0.", | |
27147 | "maximum" : 2, | |
27148 | "minimum" : 0, | |
27149 | "optional" : 1, | |
27150 | "type" : "integer" | |
27151 | }, | |
27152 | "key" : { | |
27153 | "description" : "Configuration option name.", | |
27154 | "type" : "string" | |
27155 | }, | |
27156 | "pending" : { | |
27157 | "description" : "Pending value.", | |
27158 | "optional" : 1, | |
27159 | "type" : "string" | |
27160 | }, | |
27161 | "value" : { | |
27162 | "description" : "Current value.", | |
27163 | "optional" : 1, | |
27164 | "type" : "string" | |
27165 | } | |
27166 | }, | |
27167 | "type" : "object" | |
27168 | }, | |
27169 | "type" : "array" | |
27170 | } | |
27171 | } | |
27172 | }, | |
27173 | "leaf" : 1, | |
27174 | "path" : "/nodes/{node}/lxc/{vmid}/pending", | |
27175 | "text" : "pending" | |
4d47f125 TL |
27176 | } |
27177 | ], | |
27178 | "info" : { | |
27179 | "DELETE" : { | |
e9cd3bd4 | 27180 | "allowtoken" : 1, |
4d47f125 TL |
27181 | "description" : "Destroy the container (also delete all uses files).", |
27182 | "method" : "DELETE", | |
27183 | "name" : "destroy_vm", | |
27184 | "parameters" : { | |
27185 | "additionalProperties" : 0, | |
27186 | "properties" : { | |
c5aa7e14 TL |
27187 | "force" : { |
27188 | "default" : 0, | |
27189 | "description" : "Force destroy, even if running.", | |
27190 | "optional" : 1, | |
27191 | "type" : "boolean", | |
27192 | "typetext" : "<boolean>" | |
27193 | }, | |
4d47f125 TL |
27194 | "node" : { |
27195 | "description" : "The cluster node name.", | |
27196 | "format" : "pve-node", | |
27197 | "type" : "string", | |
27198 | "typetext" : "<string>" | |
27199 | }, | |
1c532546 | 27200 | "purge" : { |
c5aa7e14 TL |
27201 | "default" : 0, |
27202 | "description" : "Remove container from all related configurations. For example, backup jobs, replication jobs or HA. Related ACLs and Firewall entries will *always* be removed.", | |
1c532546 TL |
27203 | "optional" : 1, |
27204 | "type" : "boolean", | |
27205 | "typetext" : "<boolean>" | |
27206 | }, | |
4d47f125 TL |
27207 | "vmid" : { |
27208 | "description" : "The (unique) ID of the VM.", | |
27209 | "format" : "pve-vmid", | |
27210 | "minimum" : 1, | |
27211 | "type" : "integer", | |
27212 | "typetext" : "<integer> (1 - N)" | |
27213 | } | |
27214 | } | |
27215 | }, | |
27216 | "permissions" : { | |
27217 | "check" : [ | |
27218 | "perm", | |
27219 | "/vms/{vmid}", | |
27220 | [ | |
27221 | "VM.Allocate" | |
27222 | ] | |
27223 | ] | |
27224 | }, | |
27225 | "protected" : 1, | |
27226 | "proxyto" : "node", | |
27227 | "returns" : { | |
27228 | "type" : "string" | |
27229 | } | |
27230 | }, | |
27231 | "GET" : { | |
e9cd3bd4 | 27232 | "allowtoken" : 1, |
4d47f125 TL |
27233 | "description" : "Directory index", |
27234 | "method" : "GET", | |
27235 | "name" : "vmdiridx", | |
27236 | "parameters" : { | |
27237 | "additionalProperties" : 0, | |
27238 | "properties" : { | |
27239 | "node" : { | |
27240 | "description" : "The cluster node name.", | |
27241 | "format" : "pve-node", | |
27242 | "type" : "string", | |
27243 | "typetext" : "<string>" | |
56122987 | 27244 | }, |
4d47f125 TL |
27245 | "vmid" : { |
27246 | "description" : "The (unique) ID of the VM.", | |
27247 | "format" : "pve-vmid", | |
27248 | "minimum" : 1, | |
27249 | "type" : "integer", | |
27250 | "typetext" : "<integer> (1 - N)" | |
56122987 DM |
27251 | } |
27252 | } | |
27253 | }, | |
4d47f125 TL |
27254 | "permissions" : { |
27255 | "user" : "all" | |
27256 | }, | |
27257 | "proxyto" : "node", | |
27258 | "returns" : { | |
27259 | "items" : { | |
27260 | "properties" : { | |
27261 | "subdir" : { | |
27262 | "type" : "string" | |
35a75dd3 DM |
27263 | } |
27264 | }, | |
4d47f125 TL |
27265 | "type" : "object" |
27266 | }, | |
27267 | "links" : [ | |
27268 | { | |
27269 | "href" : "{subdir}", | |
27270 | "rel" : "child" | |
35a75dd3 | 27271 | } |
4d47f125 TL |
27272 | ], |
27273 | "type" : "array" | |
27274 | } | |
27275 | } | |
27276 | }, | |
27277 | "leaf" : 0, | |
27278 | "path" : "/nodes/{node}/lxc/{vmid}", | |
27279 | "text" : "{vmid}" | |
27280 | } | |
27281 | ], | |
27282 | "info" : { | |
27283 | "GET" : { | |
e9cd3bd4 | 27284 | "allowtoken" : 1, |
4d47f125 TL |
27285 | "description" : "LXC container index (per node).", |
27286 | "method" : "GET", | |
27287 | "name" : "vmlist", | |
27288 | "parameters" : { | |
27289 | "additionalProperties" : 0, | |
27290 | "properties" : { | |
27291 | "node" : { | |
27292 | "description" : "The cluster node name.", | |
27293 | "format" : "pve-node", | |
27294 | "type" : "string", | |
27295 | "typetext" : "<string>" | |
27296 | } | |
27297 | } | |
27298 | }, | |
27299 | "permissions" : { | |
27300 | "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.", | |
27301 | "user" : "all" | |
27302 | }, | |
27303 | "protected" : 1, | |
27304 | "proxyto" : "node", | |
27305 | "returns" : { | |
27306 | "items" : { | |
27307 | "properties" : { | |
27308 | "cpus" : { | |
27309 | "description" : "Maximum usable CPUs.", | |
27310 | "optional" : 1, | |
27311 | "type" : "number" | |
27312 | }, | |
95895385 TL |
27313 | "lock" : { |
27314 | "description" : "The current config lock, if any.", | |
27315 | "optional" : 1, | |
27316 | "type" : "string" | |
27317 | }, | |
4d47f125 TL |
27318 | "maxdisk" : { |
27319 | "description" : "Root disk size in bytes.", | |
27320 | "optional" : 1, | |
27321 | "renderer" : "bytes", | |
27322 | "type" : "integer" | |
27323 | }, | |
27324 | "maxmem" : { | |
27325 | "description" : "Maximum memory in bytes.", | |
27326 | "optional" : 1, | |
27327 | "renderer" : "bytes", | |
27328 | "type" : "integer" | |
27329 | }, | |
27330 | "maxswap" : { | |
27331 | "description" : "Maximum SWAP memory in bytes.", | |
27332 | "optional" : 1, | |
27333 | "renderer" : "bytes", | |
27334 | "type" : "integer" | |
27335 | }, | |
27336 | "name" : { | |
27337 | "description" : "Container name.", | |
27338 | "optional" : 1, | |
27339 | "type" : "string" | |
27340 | }, | |
27341 | "status" : { | |
27342 | "description" : "LXC Container status.", | |
27343 | "enum" : [ | |
27344 | "stopped", | |
27345 | "running" | |
27346 | ], | |
27347 | "type" : "string" | |
27348 | }, | |
5c1699e5 TL |
27349 | "tags" : { |
27350 | "description" : "The current configured tags, if any.", | |
27351 | "optional" : 1, | |
27352 | "type" : "string" | |
27353 | }, | |
4d47f125 TL |
27354 | "uptime" : { |
27355 | "description" : "Uptime.", | |
27356 | "optional" : 1, | |
27357 | "renderer" : "duration", | |
27358 | "type" : "integer" | |
27359 | }, | |
27360 | "vmid" : { | |
27361 | "description" : "The (unique) ID of the VM.", | |
27362 | "format" : "pve-vmid", | |
27363 | "minimum" : 1, | |
27364 | "type" : "integer" | |
35a75dd3 DM |
27365 | } |
27366 | }, | |
4d47f125 | 27367 | "type" : "object" |
35a75dd3 | 27368 | }, |
4d47f125 TL |
27369 | "links" : [ |
27370 | { | |
27371 | "href" : "{vmid}", | |
27372 | "rel" : "child" | |
27373 | } | |
27374 | ], | |
27375 | "type" : "array" | |
27376 | } | |
27377 | }, | |
27378 | "POST" : { | |
e9cd3bd4 | 27379 | "allowtoken" : 1, |
4d47f125 TL |
27380 | "description" : "Create or restore a container.", |
27381 | "method" : "POST", | |
27382 | "name" : "create_vm", | |
27383 | "parameters" : { | |
27384 | "additionalProperties" : 0, | |
27385 | "properties" : { | |
27386 | "arch" : { | |
27387 | "default" : "amd64", | |
27388 | "description" : "OS architecture type.", | |
27389 | "enum" : [ | |
27390 | "amd64", | |
27391 | "i386", | |
27392 | "arm64", | |
27393 | "armhf" | |
27394 | ], | |
27395 | "optional" : 1, | |
27396 | "type" : "string" | |
27397 | }, | |
27398 | "bwlimit" : { | |
95895385 TL |
27399 | "default" : "restore limit from datacenter or storage config", |
27400 | "description" : "Override I/O bandwidth limit (in KiB/s).", | |
4d47f125 TL |
27401 | "minimum" : "0", |
27402 | "optional" : 1, | |
27403 | "type" : "number", | |
27404 | "typetext" : "<number> (0 - N)" | |
27405 | }, | |
27406 | "cmode" : { | |
27407 | "default" : "tty", | |
27408 | "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).", | |
27409 | "enum" : [ | |
27410 | "shell", | |
27411 | "console", | |
27412 | "tty" | |
27413 | ], | |
27414 | "optional" : 1, | |
27415 | "type" : "string" | |
27416 | }, | |
27417 | "console" : { | |
27418 | "default" : 1, | |
27419 | "description" : "Attach a console device (/dev/console) to the container.", | |
27420 | "optional" : 1, | |
27421 | "type" : "boolean", | |
27422 | "typetext" : "<boolean>" | |
27423 | }, | |
27424 | "cores" : { | |
27425 | "description" : "The number of cores assigned to the container. A container can use all available cores by default.", | |
27426 | "maximum" : 128, | |
27427 | "minimum" : 1, | |
27428 | "optional" : 1, | |
27429 | "type" : "integer", | |
27430 | "typetext" : "<integer> (1 - 128)" | |
27431 | }, | |
27432 | "cpulimit" : { | |
27433 | "default" : 0, | |
27434 | "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.", | |
27435 | "maximum" : 128, | |
27436 | "minimum" : 0, | |
27437 | "optional" : 1, | |
27438 | "type" : "number", | |
27439 | "typetext" : "<number> (0 - 128)" | |
27440 | }, | |
27441 | "cpuunits" : { | |
27442 | "default" : 1024, | |
27443 | "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.", | |
27444 | "maximum" : 500000, | |
27445 | "minimum" : 0, | |
27446 | "optional" : 1, | |
27447 | "type" : "integer", | |
27448 | "typetext" : "<integer> (0 - 500000)" | |
27449 | }, | |
27450 | "description" : { | |
27451 | "description" : "Container description. Only used on the configuration web interface.", | |
27452 | "optional" : 1, | |
27453 | "type" : "string", | |
27454 | "typetext" : "<string>" | |
27455 | }, | |
27456 | "features" : { | |
27457 | "description" : "Allow containers access to advanced features.", | |
27458 | "format" : { | |
c5aa7e14 TL |
27459 | "force_rw_sys" : { |
27460 | "default" : 0, | |
27461 | "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.", | |
27462 | "optional" : 1, | |
27463 | "type" : "boolean" | |
27464 | }, | |
e2d681b3 TL |
27465 | "fuse" : { |
27466 | "default" : 0, | |
27467 | "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.", | |
27468 | "optional" : 1, | |
27469 | "type" : "boolean" | |
27470 | }, | |
4d47f125 TL |
27471 | "keyctl" : { |
27472 | "default" : 0, | |
27473 | "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.", | |
27474 | "optional" : 1, | |
27475 | "type" : "boolean" | |
7aacca6f | 27476 | }, |
c5aa7e14 TL |
27477 | "mknod" : { |
27478 | "default" : 0, | |
27479 | "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.", | |
27480 | "optional" : 1, | |
27481 | "type" : "boolean" | |
27482 | }, | |
4d47f125 TL |
27483 | "mount" : { |
27484 | "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.", | |
27485 | "format_description" : "fstype;fstype;...", | |
27486 | "optional" : 1, | |
95895385 | 27487 | "pattern" : "(?^:[a-zA-Z0-9_; ]+)", |
4d47f125 | 27488 | "type" : "string" |
56122987 | 27489 | }, |
4d47f125 TL |
27490 | "nesting" : { |
27491 | "default" : 0, | |
27492 | "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.", | |
27493 | "optional" : 1, | |
27494 | "type" : "boolean" | |
44660702 | 27495 | } |
4d47f125 TL |
27496 | }, |
27497 | "optional" : 1, | |
27498 | "type" : "string", | |
c5aa7e14 | 27499 | "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]" |
56122987 | 27500 | }, |
4d47f125 TL |
27501 | "force" : { |
27502 | "description" : "Allow to overwrite existing container.", | |
27503 | "optional" : 1, | |
27504 | "type" : "boolean", | |
27505 | "typetext" : "<boolean>" | |
27506 | }, | |
5f26e15b TL |
27507 | "hookscript" : { |
27508 | "description" : "Script that will be exectued during various steps in the containers lifetime.", | |
27509 | "format" : "pve-volume-id", | |
27510 | "optional" : 1, | |
27511 | "type" : "string", | |
27512 | "typetext" : "<string>" | |
27513 | }, | |
4d47f125 TL |
27514 | "hostname" : { |
27515 | "description" : "Set a host name for the container.", | |
27516 | "format" : "dns-name", | |
27517 | "maxLength" : 255, | |
27518 | "optional" : 1, | |
27519 | "type" : "string", | |
27520 | "typetext" : "<string>" | |
27521 | }, | |
27522 | "ignore-unpack-errors" : { | |
27523 | "description" : "Ignore errors when extracting the template.", | |
27524 | "optional" : 1, | |
27525 | "type" : "boolean", | |
27526 | "typetext" : "<boolean>" | |
27527 | }, | |
27528 | "lock" : { | |
27529 | "description" : "Lock/unlock the VM.", | |
27530 | "enum" : [ | |
27531 | "backup", | |
bb4c8cf8 | 27532 | "create", |
1c532546 | 27533 | "destroyed", |
4d47f125 | 27534 | "disk", |
bb4c8cf8 | 27535 | "fstrim", |
4d47f125 TL |
27536 | "migrate", |
27537 | "mounted", | |
27538 | "rollback", | |
27539 | "snapshot", | |
27540 | "snapshot-delete" | |
27541 | ], | |
27542 | "optional" : 1, | |
27543 | "type" : "string" | |
27544 | }, | |
27545 | "memory" : { | |
27546 | "default" : 512, | |
27547 | "description" : "Amount of RAM for the VM in MB.", | |
27548 | "minimum" : 16, | |
27549 | "optional" : 1, | |
27550 | "type" : "integer", | |
27551 | "typetext" : "<integer> (16 - N)" | |
27552 | }, | |
27553 | "mp[n]" : { | |
27554 | "description" : "Use volume as container mount point.", | |
27555 | "format" : { | |
27556 | "acl" : { | |
27557 | "description" : "Explicitly enable or disable ACL support.", | |
27558 | "optional" : 1, | |
27559 | "type" : "boolean" | |
56122987 | 27560 | }, |
4d47f125 TL |
27561 | "backup" : { |
27562 | "description" : "Whether to include the mount point in backups.", | |
27563 | "optional" : 1, | |
27564 | "type" : "boolean", | |
27565 | "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)." | |
56122987 | 27566 | }, |
7cbed89a TL |
27567 | "mountoptions" : { |
27568 | "description" : "Extra mount options for rootfs/mps.", | |
27569 | "format_description" : "opt[;opt...]", | |
27570 | "optional" : 1, | |
27571 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
27572 | "type" : "string" | |
27573 | }, | |
4d47f125 TL |
27574 | "mp" : { |
27575 | "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).", | |
27576 | "format" : "pve-lxc-mp-string", | |
27577 | "format_description" : "Path", | |
27578 | "type" : "string", | |
27579 | "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons." | |
7aacca6f | 27580 | }, |
4d47f125 TL |
27581 | "quota" : { |
27582 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
27583 | "optional" : 1, | |
27584 | "type" : "boolean" | |
27585 | }, | |
27586 | "replicate" : { | |
27587 | "default" : 1, | |
27588 | "description" : "Will include this volume to a storage replica job.", | |
27589 | "optional" : 1, | |
27590 | "type" : "boolean" | |
27591 | }, | |
27592 | "ro" : { | |
27593 | "description" : "Read-only mount point", | |
27594 | "optional" : 1, | |
27595 | "type" : "boolean" | |
27596 | }, | |
27597 | "shared" : { | |
27598 | "default" : 0, | |
27599 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
27600 | "optional" : 1, | |
27601 | "type" : "boolean", | |
27602 | "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!" | |
56122987 | 27603 | }, |
4d47f125 TL |
27604 | "size" : { |
27605 | "description" : "Volume size (read only value).", | |
27606 | "format" : "disk-size", | |
27607 | "format_description" : "DiskSize", | |
27608 | "optional" : 1, | |
27609 | "type" : "string" | |
27610 | }, | |
27611 | "volume" : { | |
27612 | "default_key" : 1, | |
27613 | "description" : "Volume, device or directory to mount into the container.", | |
27614 | "format" : "pve-lxc-mp-string", | |
27615 | "format_description" : "volume", | |
44660702 DM |
27616 | "type" : "string" |
27617 | } | |
4d47f125 TL |
27618 | }, |
27619 | "optional" : 1, | |
27620 | "type" : "string", | |
7cbed89a | 27621 | "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
56122987 | 27622 | }, |
4d47f125 TL |
27623 | "nameserver" : { |
27624 | "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.", | |
27625 | "format" : "address-list", | |
27626 | "optional" : 1, | |
27627 | "type" : "string", | |
27628 | "typetext" : "<string>" | |
27629 | }, | |
27630 | "net[n]" : { | |
27631 | "description" : "Specifies network interfaces for the container.", | |
27632 | "format" : { | |
27633 | "bridge" : { | |
27634 | "description" : "Bridge to attach the network device to.", | |
27635 | "format_description" : "bridge", | |
27636 | "optional" : 1, | |
27637 | "pattern" : "[-_.\\w\\d]+", | |
27638 | "type" : "string" | |
56122987 | 27639 | }, |
4d47f125 TL |
27640 | "firewall" : { |
27641 | "description" : "Controls whether this interface's firewall rules should be used.", | |
27642 | "optional" : 1, | |
27643 | "type" : "boolean" | |
56122987 | 27644 | }, |
4d47f125 TL |
27645 | "gw" : { |
27646 | "description" : "Default gateway for IPv4 traffic.", | |
27647 | "format" : "ipv4", | |
27648 | "format_description" : "GatewayIPv4", | |
27649 | "optional" : 1, | |
27650 | "type" : "string" | |
27651 | }, | |
27652 | "gw6" : { | |
27653 | "description" : "Default gateway for IPv6 traffic.", | |
27654 | "format" : "ipv6", | |
27655 | "format_description" : "GatewayIPv6", | |
27656 | "optional" : 1, | |
27657 | "type" : "string" | |
27658 | }, | |
27659 | "hwaddr" : { | |
27660 | "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)", | |
95895385 | 27661 | "format" : "mac-addr", |
4d47f125 TL |
27662 | "format_description" : "XX:XX:XX:XX:XX:XX", |
27663 | "optional" : 1, | |
95895385 TL |
27664 | "type" : "string", |
27665 | "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set." | |
4d47f125 TL |
27666 | }, |
27667 | "ip" : { | |
27668 | "description" : "IPv4 address in CIDR format.", | |
27669 | "format" : "pve-ipv4-config", | |
27670 | "format_description" : "(IPv4/CIDR|dhcp|manual)", | |
27671 | "optional" : 1, | |
27672 | "type" : "string" | |
27673 | }, | |
27674 | "ip6" : { | |
27675 | "description" : "IPv6 address in CIDR format.", | |
27676 | "format" : "pve-ipv6-config", | |
27677 | "format_description" : "(IPv6/CIDR|auto|dhcp|manual)", | |
27678 | "optional" : 1, | |
27679 | "type" : "string" | |
27680 | }, | |
27681 | "mtu" : { | |
27682 | "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)", | |
27683 | "minimum" : 64, | |
27684 | "optional" : 1, | |
27685 | "type" : "integer" | |
27686 | }, | |
27687 | "name" : { | |
27688 | "description" : "Name of the network device as seen from inside the container. (lxc.network.name)", | |
27689 | "format_description" : "string", | |
27690 | "pattern" : "[-_.\\w\\d]+", | |
27691 | "type" : "string" | |
27692 | }, | |
27693 | "rate" : { | |
27694 | "description" : "Apply rate limiting to the interface", | |
27695 | "format_description" : "mbps", | |
27696 | "optional" : 1, | |
27697 | "type" : "number" | |
27698 | }, | |
27699 | "tag" : { | |
27700 | "description" : "VLAN tag for this interface.", | |
27701 | "maximum" : 4094, | |
27702 | "minimum" : 1, | |
27703 | "optional" : 1, | |
27704 | "type" : "integer" | |
27705 | }, | |
27706 | "trunks" : { | |
27707 | "description" : "VLAN ids to pass through the interface", | |
27708 | "format_description" : "vlanid[;vlanid...]", | |
27709 | "optional" : 1, | |
27710 | "pattern" : "(?^:\\d+(?:;\\d+)*)", | |
27711 | "type" : "string" | |
27712 | }, | |
27713 | "type" : { | |
27714 | "description" : "Network interface type.", | |
27715 | "enum" : [ | |
27716 | "veth" | |
27717 | ], | |
27718 | "optional" : 1, | |
27719 | "type" : "string" | |
7aacca6f | 27720 | } |
4d47f125 TL |
27721 | }, |
27722 | "optional" : 1, | |
27723 | "type" : "string", | |
27724 | "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]" | |
56122987 | 27725 | }, |
4d47f125 TL |
27726 | "node" : { |
27727 | "description" : "The cluster node name.", | |
27728 | "format" : "pve-node", | |
27729 | "type" : "string", | |
27730 | "typetext" : "<string>" | |
27731 | }, | |
27732 | "onboot" : { | |
27733 | "default" : 0, | |
27734 | "description" : "Specifies whether a VM will be started during system bootup.", | |
27735 | "optional" : 1, | |
27736 | "type" : "boolean", | |
27737 | "typetext" : "<boolean>" | |
27738 | }, | |
27739 | "ostemplate" : { | |
27740 | "description" : "The OS template or backup file.", | |
27741 | "maxLength" : 255, | |
27742 | "type" : "string", | |
27743 | "typetext" : "<string>" | |
27744 | }, | |
27745 | "ostype" : { | |
27746 | "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.", | |
27747 | "enum" : [ | |
27748 | "debian", | |
27749 | "ubuntu", | |
27750 | "centos", | |
27751 | "fedora", | |
27752 | "opensuse", | |
27753 | "archlinux", | |
27754 | "alpine", | |
27755 | "gentoo", | |
27756 | "unmanaged" | |
27757 | ], | |
27758 | "optional" : 1, | |
27759 | "type" : "string" | |
27760 | }, | |
27761 | "password" : { | |
27762 | "description" : "Sets root password inside container.", | |
27763 | "minLength" : 5, | |
27764 | "optional" : 1, | |
27765 | "type" : "string", | |
27766 | "typetext" : "<string>" | |
27767 | }, | |
27768 | "pool" : { | |
27769 | "description" : "Add the VM to the specified pool.", | |
27770 | "format" : "pve-poolid", | |
27771 | "optional" : 1, | |
27772 | "type" : "string", | |
27773 | "typetext" : "<string>" | |
27774 | }, | |
27775 | "protection" : { | |
27776 | "default" : 0, | |
27777 | "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.", | |
27778 | "optional" : 1, | |
27779 | "type" : "boolean", | |
27780 | "typetext" : "<boolean>" | |
27781 | }, | |
27782 | "restore" : { | |
27783 | "description" : "Mark this as restore task.", | |
27784 | "optional" : 1, | |
27785 | "type" : "boolean", | |
27786 | "typetext" : "<boolean>" | |
27787 | }, | |
27788 | "rootfs" : { | |
27789 | "description" : "Use volume as container root.", | |
27790 | "format" : { | |
27791 | "acl" : { | |
27792 | "description" : "Explicitly enable or disable ACL support.", | |
27793 | "optional" : 1, | |
27794 | "type" : "boolean" | |
56122987 | 27795 | }, |
7cbed89a TL |
27796 | "mountoptions" : { |
27797 | "description" : "Extra mount options for rootfs/mps.", | |
27798 | "format_description" : "opt[;opt...]", | |
27799 | "optional" : 1, | |
27800 | "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)", | |
27801 | "type" : "string" | |
27802 | }, | |
4d47f125 TL |
27803 | "quota" : { |
27804 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
27805 | "optional" : 1, | |
27806 | "type" : "boolean" | |
7aacca6f | 27807 | }, |
4d47f125 TL |
27808 | "replicate" : { |
27809 | "default" : 1, | |
27810 | "description" : "Will include this volume to a storage replica job.", | |
27811 | "optional" : 1, | |
27812 | "type" : "boolean" | |
27813 | }, | |
27814 | "ro" : { | |
27815 | "description" : "Read-only mount point", | |
27816 | "optional" : 1, | |
27817 | "type" : "boolean" | |
27818 | }, | |
27819 | "shared" : { | |
27820 | "default" : 0, | |
27821 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
27822 | "optional" : 1, | |
27823 | "type" : "boolean", | |
27824 | "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!" | |
27825 | }, | |
27826 | "size" : { | |
27827 | "description" : "Volume size (read only value).", | |
27828 | "format" : "disk-size", | |
27829 | "format_description" : "DiskSize", | |
27830 | "optional" : 1, | |
27831 | "type" : "string" | |
27832 | }, | |
27833 | "volume" : { | |
27834 | "default_key" : 1, | |
27835 | "description" : "Volume, device or directory to mount into the container.", | |
27836 | "format" : "pve-lxc-mp-string", | |
27837 | "format_description" : "volume", | |
27838 | "type" : "string" | |
56122987 | 27839 | } |
4d47f125 TL |
27840 | }, |
27841 | "optional" : 1, | |
27842 | "type" : "string", | |
7cbed89a | 27843 | "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
56122987 | 27844 | }, |
4d47f125 TL |
27845 | "searchdomain" : { |
27846 | "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
27847 | "format" : "dns-name-list", | |
27848 | "optional" : 1, | |
27849 | "type" : "string", | |
27850 | "typetext" : "<string>" | |
27851 | }, | |
27852 | "ssh-public-keys" : { | |
27853 | "description" : "Setup public SSH keys (one key per line, OpenSSH format).", | |
27854 | "optional" : 1, | |
27855 | "type" : "string", | |
27856 | "typetext" : "<string>" | |
27857 | }, | |
27858 | "start" : { | |
27859 | "default" : 0, | |
27860 | "description" : "Start the CT after its creation finished successfully.", | |
27861 | "optional" : 1, | |
27862 | "type" : "boolean", | |
27863 | "typetext" : "<boolean>" | |
27864 | }, | |
27865 | "startup" : { | |
27866 | "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.", | |
27867 | "format" : "pve-startup-order", | |
27868 | "optional" : 1, | |
27869 | "type" : "string", | |
27870 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
27871 | }, | |
27872 | "storage" : { | |
27873 | "default" : "local", | |
27874 | "description" : "Default Storage.", | |
27875 | "format" : "pve-storage-id", | |
27876 | "optional" : 1, | |
27877 | "type" : "string", | |
27878 | "typetext" : "<string>" | |
27879 | }, | |
27880 | "swap" : { | |
27881 | "default" : 512, | |
27882 | "description" : "Amount of SWAP for the VM in MB.", | |
27883 | "minimum" : 0, | |
27884 | "optional" : 1, | |
27885 | "type" : "integer", | |
27886 | "typetext" : "<integer> (0 - N)" | |
27887 | }, | |
5c1699e5 TL |
27888 | "tags" : { |
27889 | "description" : "Tags of the Container. This is only meta information.", | |
27890 | "format" : "pve-tag-list", | |
27891 | "optional" : 1, | |
27892 | "type" : "string", | |
27893 | "typetext" : "<string>" | |
27894 | }, | |
4d47f125 TL |
27895 | "template" : { |
27896 | "default" : 0, | |
27897 | "description" : "Enable/disable Template.", | |
27898 | "optional" : 1, | |
27899 | "type" : "boolean", | |
27900 | "typetext" : "<boolean>" | |
27901 | }, | |
27902 | "tty" : { | |
27903 | "default" : 2, | |
27904 | "description" : "Specify the number of tty available to the container", | |
27905 | "maximum" : 6, | |
27906 | "minimum" : 0, | |
27907 | "optional" : 1, | |
27908 | "type" : "integer", | |
27909 | "typetext" : "<integer> (0 - 6)" | |
27910 | }, | |
95895385 TL |
27911 | "unique" : { |
27912 | "description" : "Assign a unique random ethernet address.", | |
27913 | "optional" : 1, | |
27914 | "requires" : "restore", | |
27915 | "type" : "boolean", | |
27916 | "typetext" : "<boolean>" | |
27917 | }, | |
4d47f125 TL |
27918 | "unprivileged" : { |
27919 | "default" : 0, | |
27920 | "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)", | |
27921 | "optional" : 1, | |
27922 | "type" : "boolean", | |
27923 | "typetext" : "<boolean>" | |
27924 | }, | |
27925 | "unused[n]" : { | |
27926 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", | |
c5aa7e14 TL |
27927 | "format" : { |
27928 | "volume" : { | |
27929 | "default_key" : 1, | |
27930 | "description" : "The volume that is not used currently.", | |
27931 | "format" : "pve-volume-id", | |
27932 | "format_description" : "volume", | |
27933 | "type" : "string" | |
27934 | } | |
27935 | }, | |
4d47f125 TL |
27936 | "optional" : 1, |
27937 | "type" : "string", | |
c5aa7e14 | 27938 | "typetext" : "[volume=]<volume>" |
4d47f125 TL |
27939 | }, |
27940 | "vmid" : { | |
27941 | "description" : "The (unique) ID of the VM.", | |
27942 | "format" : "pve-vmid", | |
27943 | "minimum" : 1, | |
27944 | "type" : "integer", | |
27945 | "typetext" : "<integer> (1 - N)" | |
27946 | } | |
27947 | } | |
27948 | }, | |
27949 | "permissions" : { | |
27950 | "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.", | |
27951 | "user" : "all" | |
27952 | }, | |
27953 | "protected" : 1, | |
27954 | "proxyto" : "node", | |
27955 | "returns" : { | |
27956 | "type" : "string" | |
27957 | } | |
27958 | } | |
27959 | }, | |
27960 | "leaf" : 0, | |
27961 | "path" : "/nodes/{node}/lxc", | |
27962 | "text" : "lxc" | |
27963 | }, | |
27964 | { | |
27965 | "children" : [ | |
27966 | { | |
27967 | "children" : [ | |
56122987 | 27968 | { |
4d47f125 TL |
27969 | "children" : [ |
27970 | { | |
27971 | "info" : { | |
27972 | "POST" : { | |
e9cd3bd4 | 27973 | "allowtoken" : 1, |
4d47f125 TL |
27974 | "description" : "ceph osd in", |
27975 | "method" : "POST", | |
27976 | "name" : "in", | |
27977 | "parameters" : { | |
27978 | "additionalProperties" : 0, | |
27979 | "properties" : { | |
27980 | "node" : { | |
27981 | "description" : "The cluster node name.", | |
27982 | "format" : "pve-node", | |
27983 | "type" : "string", | |
27984 | "typetext" : "<string>" | |
27985 | }, | |
27986 | "osdid" : { | |
27987 | "description" : "OSD ID", | |
27988 | "type" : "integer", | |
27989 | "typetext" : "<integer>" | |
27990 | } | |
27991 | } | |
27a7acb2 | 27992 | }, |
4d47f125 TL |
27993 | "permissions" : { |
27994 | "check" : [ | |
27995 | "perm", | |
27996 | "/", | |
27997 | [ | |
27998 | "Sys.Modify" | |
27999 | ] | |
28000 | ] | |
44660702 | 28001 | }, |
4d47f125 TL |
28002 | "protected" : 1, |
28003 | "proxyto" : "node", | |
28004 | "returns" : { | |
28005 | "type" : "null" | |
7aacca6f DM |
28006 | } |
28007 | } | |
56122987 | 28008 | }, |
4d47f125 TL |
28009 | "leaf" : 1, |
28010 | "path" : "/nodes/{node}/ceph/osd/{osdid}/in", | |
28011 | "text" : "in" | |
28012 | }, | |
28013 | { | |
28014 | "info" : { | |
28015 | "POST" : { | |
e9cd3bd4 | 28016 | "allowtoken" : 1, |
4d47f125 TL |
28017 | "description" : "ceph osd out", |
28018 | "method" : "POST", | |
28019 | "name" : "out", | |
28020 | "parameters" : { | |
28021 | "additionalProperties" : 0, | |
28022 | "properties" : { | |
28023 | "node" : { | |
28024 | "description" : "The cluster node name.", | |
28025 | "format" : "pve-node", | |
28026 | "type" : "string", | |
28027 | "typetext" : "<string>" | |
28028 | }, | |
28029 | "osdid" : { | |
28030 | "description" : "OSD ID", | |
28031 | "type" : "integer", | |
28032 | "typetext" : "<integer>" | |
28033 | } | |
28034 | } | |
28035 | }, | |
28036 | "permissions" : { | |
28037 | "check" : [ | |
56122987 | 28038 | "perm", |
4d47f125 | 28039 | "/", |
56122987 | 28040 | [ |
4d47f125 | 28041 | "Sys.Modify" |
56122987 | 28042 | ] |
56122987 | 28043 | ] |
44660702 | 28044 | }, |
4d47f125 TL |
28045 | "protected" : 1, |
28046 | "proxyto" : "node", | |
28047 | "returns" : { | |
28048 | "type" : "null" | |
56122987 | 28049 | } |
44660702 | 28050 | } |
56122987 | 28051 | }, |
4d47f125 TL |
28052 | "leaf" : 1, |
28053 | "path" : "/nodes/{node}/ceph/osd/{osdid}/out", | |
28054 | "text" : "out" | |
7cbed89a TL |
28055 | }, |
28056 | { | |
28057 | "info" : { | |
28058 | "POST" : { | |
e9cd3bd4 | 28059 | "allowtoken" : 1, |
7cbed89a TL |
28060 | "description" : "Instruct the OSD to scrub.", |
28061 | "method" : "POST", | |
28062 | "name" : "scrub", | |
28063 | "parameters" : { | |
28064 | "additionalProperties" : 0, | |
28065 | "properties" : { | |
28066 | "deep" : { | |
28067 | "default" : 0, | |
28068 | "description" : "If set, instructs a deep scrub instead of a normal one.", | |
28069 | "optional" : 1, | |
28070 | "type" : "boolean", | |
28071 | "typetext" : "<boolean>" | |
28072 | }, | |
28073 | "node" : { | |
28074 | "description" : "The cluster node name.", | |
28075 | "format" : "pve-node", | |
28076 | "type" : "string", | |
28077 | "typetext" : "<string>" | |
28078 | }, | |
28079 | "osdid" : { | |
28080 | "description" : "OSD ID", | |
28081 | "type" : "integer", | |
28082 | "typetext" : "<integer>" | |
28083 | } | |
28084 | } | |
28085 | }, | |
28086 | "permissions" : { | |
28087 | "check" : [ | |
28088 | "perm", | |
28089 | "/", | |
28090 | [ | |
28091 | "Sys.Modify" | |
28092 | ] | |
28093 | ] | |
28094 | }, | |
28095 | "protected" : 1, | |
28096 | "proxyto" : "node", | |
28097 | "returns" : { | |
28098 | "type" : "null" | |
28099 | } | |
28100 | } | |
28101 | }, | |
28102 | "leaf" : 1, | |
28103 | "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub", | |
28104 | "text" : "scrub" | |
56122987 | 28105 | } |
4d47f125 | 28106 | ], |
27a7acb2 | 28107 | "info" : { |
4d47f125 | 28108 | "DELETE" : { |
e9cd3bd4 | 28109 | "allowtoken" : 1, |
4d47f125 TL |
28110 | "description" : "Destroy OSD", |
28111 | "method" : "DELETE", | |
28112 | "name" : "destroyosd", | |
27a7acb2 DM |
28113 | "parameters" : { |
28114 | "additionalProperties" : 0, | |
28115 | "properties" : { | |
4d47f125 | 28116 | "cleanup" : { |
27a7acb2 | 28117 | "default" : 0, |
4d47f125 | 28118 | "description" : "If set, we remove partition table entries.", |
27a7acb2 | 28119 | "optional" : 1, |
4d47f125 TL |
28120 | "type" : "boolean", |
28121 | "typetext" : "<boolean>" | |
28122 | }, | |
28123 | "node" : { | |
28124 | "description" : "The cluster node name.", | |
28125 | "format" : "pve-node", | |
28126 | "type" : "string", | |
28127 | "typetext" : "<string>" | |
28128 | }, | |
28129 | "osdid" : { | |
28130 | "description" : "OSD ID", | |
28131 | "type" : "integer", | |
28132 | "typetext" : "<integer>" | |
28133 | } | |
28134 | } | |
27a7acb2 DM |
28135 | }, |
28136 | "protected" : 1, | |
28137 | "proxyto" : "node", | |
28138 | "returns" : { | |
28139 | "type" : "string" | |
28140 | } | |
28141 | } | |
28142 | }, | |
4d47f125 TL |
28143 | "leaf" : 0, |
28144 | "path" : "/nodes/{node}/ceph/osd/{osdid}", | |
28145 | "text" : "{osdid}" | |
56122987 DM |
28146 | } |
28147 | ], | |
28148 | "info" : { | |
4d47f125 | 28149 | "GET" : { |
e9cd3bd4 | 28150 | "allowtoken" : 1, |
4d47f125 TL |
28151 | "description" : "Get Ceph osd list/tree.", |
28152 | "method" : "GET", | |
28153 | "name" : "index", | |
44660702 DM |
28154 | "parameters" : { |
28155 | "additionalProperties" : 0, | |
28156 | "properties" : { | |
28157 | "node" : { | |
28158 | "description" : "The cluster node name.", | |
28159 | "format" : "pve-node", | |
013dc89f DM |
28160 | "type" : "string", |
28161 | "typetext" : "<string>" | |
44660702 DM |
28162 | } |
28163 | } | |
28164 | }, | |
7aacca6f DM |
28165 | "permissions" : { |
28166 | "check" : [ | |
28167 | "perm", | |
4d47f125 | 28168 | "/", |
7aacca6f | 28169 | [ |
4d47f125 TL |
28170 | "Sys.Audit", |
28171 | "Datastore.Audit" | |
28172 | ], | |
28173 | "any", | |
28174 | 1 | |
28175 | ] | |
28176 | }, | |
28177 | "protected" : 1, | |
28178 | "proxyto" : "node", | |
28179 | "returns" : { | |
28180 | "type" : "object" | |
28181 | } | |
28182 | }, | |
28183 | "POST" : { | |
e9cd3bd4 | 28184 | "allowtoken" : 1, |
4d47f125 TL |
28185 | "description" : "Create OSD", |
28186 | "method" : "POST", | |
28187 | "name" : "createosd", | |
28188 | "parameters" : { | |
28189 | "additionalProperties" : 0, | |
28190 | "properties" : { | |
1e3f8156 TL |
28191 | "db_dev" : { |
28192 | "description" : "Block device name for block.db.", | |
44660702 | 28193 | "optional" : 1, |
4bd7df8b | 28194 | "type" : "string", |
4d47f125 | 28195 | "typetext" : "<string>" |
44660702 | 28196 | }, |
1e3f8156 TL |
28197 | "db_size" : { |
28198 | "default" : "bluestore_block_db_size or 10% of OSD size", | |
28199 | "description" : "Size in GiB for block.db.", | |
28200 | "minimum" : 1, | |
7aacca6f | 28201 | "optional" : 1, |
1e3f8156 TL |
28202 | "requires" : "db_dev", |
28203 | "type" : "number", | |
28204 | "typetext" : "<number> (1 - N)", | |
28205 | "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough." | |
44660702 | 28206 | }, |
1e3f8156 TL |
28207 | "dev" : { |
28208 | "description" : "Block device name.", | |
4d47f125 TL |
28209 | "type" : "string", |
28210 | "typetext" : "<string>" | |
5d9c884c | 28211 | }, |
1e3f8156 TL |
28212 | "encrypted" : { |
28213 | "default" : 0, | |
28214 | "description" : "Enables encryption of the OSD.", | |
28215 | "optional" : 1, | |
28216 | "type" : "boolean", | |
28217 | "typetext" : "<boolean>" | |
28218 | }, | |
4d47f125 TL |
28219 | "node" : { |
28220 | "description" : "The cluster node name.", | |
28221 | "format" : "pve-node", | |
28222 | "type" : "string", | |
28223 | "typetext" : "<string>" | |
7aacca6f | 28224 | }, |
4d47f125 | 28225 | "wal_dev" : { |
1e3f8156 | 28226 | "description" : "Block device name for block.wal.", |
de0983cb | 28227 | "optional" : 1, |
4d47f125 TL |
28228 | "type" : "string", |
28229 | "typetext" : "<string>" | |
1e3f8156 TL |
28230 | }, |
28231 | "wal_size" : { | |
28232 | "default" : "bluestore_block_wal_size or 1% of OSD size", | |
28233 | "description" : "Size in GiB for block.wal.", | |
28234 | "minimum" : 0.5, | |
28235 | "optional" : 1, | |
28236 | "requires" : "wal_dev", | |
28237 | "type" : "number", | |
28238 | "typetext" : "<number> (0.5 - N)", | |
28239 | "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough." | |
4d47f125 TL |
28240 | } |
28241 | } | |
28242 | }, | |
28243 | "protected" : 1, | |
28244 | "proxyto" : "node", | |
28245 | "returns" : { | |
28246 | "type" : "string" | |
28247 | } | |
28248 | } | |
28249 | }, | |
28250 | "leaf" : 0, | |
28251 | "path" : "/nodes/{node}/ceph/osd", | |
28252 | "text" : "osd" | |
28253 | }, | |
e2d681b3 TL |
28254 | { |
28255 | "children" : [ | |
28256 | { | |
28257 | "info" : { | |
28258 | "DELETE" : { | |
e9cd3bd4 | 28259 | "allowtoken" : 1, |
e2d681b3 TL |
28260 | "description" : "Destroy Ceph Metadata Server", |
28261 | "method" : "DELETE", | |
28262 | "name" : "destroymds", | |
28263 | "parameters" : { | |
28264 | "additionalProperties" : 0, | |
28265 | "properties" : { | |
28266 | "name" : { | |
28267 | "description" : "The name (ID) of the mds", | |
28268 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", | |
28269 | "type" : "string" | |
28270 | }, | |
28271 | "node" : { | |
28272 | "description" : "The cluster node name.", | |
28273 | "format" : "pve-node", | |
28274 | "type" : "string", | |
28275 | "typetext" : "<string>" | |
28276 | } | |
28277 | } | |
28278 | }, | |
28279 | "permissions" : { | |
28280 | "check" : [ | |
28281 | "perm", | |
28282 | "/", | |
28283 | [ | |
28284 | "Sys.Modify" | |
28285 | ] | |
28286 | ] | |
28287 | }, | |
28288 | "protected" : 1, | |
28289 | "proxyto" : "node", | |
28290 | "returns" : { | |
28291 | "type" : "string" | |
28292 | } | |
28293 | }, | |
28294 | "POST" : { | |
e9cd3bd4 | 28295 | "allowtoken" : 1, |
e2d681b3 TL |
28296 | "description" : "Create Ceph Metadata Server (MDS)", |
28297 | "method" : "POST", | |
28298 | "name" : "createmds", | |
28299 | "parameters" : { | |
28300 | "additionalProperties" : 0, | |
28301 | "properties" : { | |
28302 | "hotstandby" : { | |
28303 | "default" : "0", | |
28304 | "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.", | |
28305 | "optional" : 1, | |
28306 | "type" : "boolean", | |
28307 | "typetext" : "<boolean>" | |
28308 | }, | |
28309 | "name" : { | |
28310 | "default" : "nodename", | |
28311 | "description" : "The ID for the mds, when omitted the same as the nodename", | |
c5aa7e14 | 28312 | "maxLength" : 200, |
e2d681b3 TL |
28313 | "optional" : 1, |
28314 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", | |
28315 | "type" : "string" | |
28316 | }, | |
28317 | "node" : { | |
28318 | "description" : "The cluster node name.", | |
28319 | "format" : "pve-node", | |
28320 | "type" : "string", | |
28321 | "typetext" : "<string>" | |
28322 | } | |
28323 | } | |
28324 | }, | |
28325 | "permissions" : { | |
28326 | "check" : [ | |
28327 | "perm", | |
28328 | "/", | |
28329 | [ | |
28330 | "Sys.Modify" | |
28331 | ] | |
28332 | ] | |
28333 | }, | |
28334 | "protected" : 1, | |
28335 | "proxyto" : "node", | |
28336 | "returns" : { | |
28337 | "type" : "string" | |
28338 | } | |
28339 | } | |
28340 | }, | |
28341 | "leaf" : 1, | |
28342 | "path" : "/nodes/{node}/ceph/mds/{name}", | |
28343 | "text" : "{name}" | |
28344 | } | |
28345 | ], | |
28346 | "info" : { | |
28347 | "GET" : { | |
e9cd3bd4 | 28348 | "allowtoken" : 1, |
e2d681b3 TL |
28349 | "description" : "MDS directory index.", |
28350 | "method" : "GET", | |
28351 | "name" : "index", | |
28352 | "parameters" : { | |
28353 | "additionalProperties" : 0, | |
28354 | "properties" : { | |
28355 | "node" : { | |
28356 | "description" : "The cluster node name.", | |
28357 | "format" : "pve-node", | |
28358 | "type" : "string", | |
28359 | "typetext" : "<string>" | |
28360 | } | |
28361 | } | |
28362 | }, | |
28363 | "permissions" : { | |
28364 | "check" : [ | |
28365 | "perm", | |
28366 | "/", | |
28367 | [ | |
28368 | "Sys.Audit", | |
28369 | "Datastore.Audit" | |
28370 | ], | |
28371 | "any", | |
28372 | 1 | |
28373 | ] | |
28374 | }, | |
28375 | "protected" : 1, | |
28376 | "proxyto" : "node", | |
28377 | "returns" : { | |
28378 | "items" : { | |
28379 | "properties" : { | |
28380 | "addr" : { | |
28381 | "optional" : 1, | |
28382 | "type" : "string" | |
28383 | }, | |
28384 | "host" : { | |
28385 | "optional" : 1, | |
28386 | "type" : "string" | |
28387 | }, | |
28388 | "name" : { | |
28389 | "description" : "The name (ID) for the MDS" | |
28390 | }, | |
28391 | "rank" : { | |
28392 | "optional" : 1, | |
28393 | "type" : "integer" | |
28394 | }, | |
28395 | "standby_replay" : { | |
28396 | "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).", | |
28397 | "optional" : 1, | |
28398 | "type" : "boolean" | |
28399 | }, | |
28400 | "state" : { | |
28401 | "description" : "State of the MDS", | |
28402 | "type" : "string" | |
28403 | } | |
28404 | }, | |
28405 | "type" : "object" | |
28406 | }, | |
28407 | "links" : [ | |
28408 | { | |
28409 | "href" : "{name}", | |
28410 | "rel" : "child" | |
28411 | } | |
28412 | ], | |
28413 | "type" : "array" | |
28414 | } | |
28415 | } | |
28416 | }, | |
28417 | "leaf" : 0, | |
28418 | "path" : "/nodes/{node}/ceph/mds", | |
28419 | "text" : "mds" | |
28420 | }, | |
28421 | { | |
28422 | "children" : [ | |
28423 | { | |
28424 | "info" : { | |
5f26e15b | 28425 | "DELETE" : { |
e9cd3bd4 | 28426 | "allowtoken" : 1, |
5f26e15b TL |
28427 | "description" : "Destroy Ceph Manager.", |
28428 | "method" : "DELETE", | |
28429 | "name" : "destroymgr", | |
e2d681b3 TL |
28430 | "parameters" : { |
28431 | "additionalProperties" : 0, | |
28432 | "properties" : { | |
5f26e15b TL |
28433 | "id" : { |
28434 | "description" : "The ID of the manager", | |
28435 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", | |
28436 | "type" : "string" | |
e2d681b3 TL |
28437 | }, |
28438 | "node" : { | |
28439 | "description" : "The cluster node name.", | |
28440 | "format" : "pve-node", | |
28441 | "type" : "string", | |
28442 | "typetext" : "<string>" | |
e2d681b3 TL |
28443 | } |
28444 | } | |
28445 | }, | |
28446 | "permissions" : { | |
28447 | "check" : [ | |
28448 | "perm", | |
28449 | "/", | |
28450 | [ | |
28451 | "Sys.Modify" | |
28452 | ] | |
28453 | ] | |
28454 | }, | |
28455 | "protected" : 1, | |
28456 | "proxyto" : "node", | |
28457 | "returns" : { | |
28458 | "type" : "string" | |
28459 | } | |
1e3f8156 TL |
28460 | }, |
28461 | "POST" : { | |
e9cd3bd4 | 28462 | "allowtoken" : 1, |
1e3f8156 TL |
28463 | "description" : "Create Ceph Manager", |
28464 | "method" : "POST", | |
28465 | "name" : "createmgr", | |
28466 | "parameters" : { | |
28467 | "additionalProperties" : 0, | |
28468 | "properties" : { | |
28469 | "id" : { | |
28470 | "description" : "The ID for the manager, when omitted the same as the nodename", | |
c5aa7e14 | 28471 | "maxLength" : 200, |
1e3f8156 TL |
28472 | "optional" : 1, |
28473 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", | |
28474 | "type" : "string" | |
28475 | }, | |
28476 | "node" : { | |
28477 | "description" : "The cluster node name.", | |
28478 | "format" : "pve-node", | |
28479 | "type" : "string", | |
28480 | "typetext" : "<string>" | |
28481 | } | |
28482 | } | |
28483 | }, | |
28484 | "permissions" : { | |
28485 | "check" : [ | |
28486 | "perm", | |
28487 | "/", | |
28488 | [ | |
28489 | "Sys.Modify" | |
28490 | ] | |
28491 | ] | |
28492 | }, | |
28493 | "protected" : 1, | |
28494 | "proxyto" : "node", | |
28495 | "returns" : { | |
28496 | "type" : "string" | |
28497 | } | |
e2d681b3 TL |
28498 | } |
28499 | }, | |
28500 | "leaf" : 1, | |
5f26e15b TL |
28501 | "path" : "/nodes/{node}/ceph/mgr/{id}", |
28502 | "text" : "{id}" | |
e2d681b3 TL |
28503 | } |
28504 | ], | |
28505 | "info" : { | |
1e3f8156 | 28506 | "GET" : { |
e9cd3bd4 | 28507 | "allowtoken" : 1, |
1e3f8156 TL |
28508 | "description" : "MGR directory index.", |
28509 | "method" : "GET", | |
28510 | "name" : "index", | |
e2d681b3 TL |
28511 | "parameters" : { |
28512 | "additionalProperties" : 0, | |
28513 | "properties" : { | |
28514 | "node" : { | |
28515 | "description" : "The cluster node name.", | |
28516 | "format" : "pve-node", | |
28517 | "type" : "string", | |
28518 | "typetext" : "<string>" | |
28519 | } | |
28520 | } | |
28521 | }, | |
28522 | "permissions" : { | |
28523 | "check" : [ | |
28524 | "perm", | |
28525 | "/", | |
28526 | [ | |
1e3f8156 TL |
28527 | "Sys.Audit", |
28528 | "Datastore.Audit" | |
28529 | ], | |
28530 | "any", | |
28531 | 1 | |
e2d681b3 TL |
28532 | ] |
28533 | }, | |
28534 | "protected" : 1, | |
5f26e15b | 28535 | "proxyto" : "node", |
e2d681b3 | 28536 | "returns" : { |
1e3f8156 TL |
28537 | "items" : { |
28538 | "properties" : { | |
28539 | "addr" : { | |
28540 | "optional" : 1, | |
28541 | "type" : "string" | |
28542 | }, | |
28543 | "host" : { | |
28544 | "optional" : 1, | |
28545 | "type" : "string" | |
28546 | }, | |
28547 | "name" : { | |
28548 | "description" : "The name (ID) for the MGR" | |
28549 | }, | |
28550 | "state" : { | |
28551 | "description" : "State of the MGR", | |
28552 | "type" : "string" | |
28553 | } | |
28554 | }, | |
28555 | "type" : "object" | |
28556 | }, | |
28557 | "links" : [ | |
28558 | { | |
28559 | "href" : "{name}", | |
28560 | "rel" : "child" | |
28561 | } | |
28562 | ], | |
28563 | "type" : "array" | |
e2d681b3 TL |
28564 | } |
28565 | } | |
28566 | }, | |
28567 | "leaf" : 0, | |
5f26e15b TL |
28568 | "path" : "/nodes/{node}/ceph/mgr", |
28569 | "text" : "mgr" | |
e2d681b3 | 28570 | }, |
4d47f125 | 28571 | { |
5f26e15b TL |
28572 | "children" : [ |
28573 | { | |
28574 | "info" : { | |
28575 | "DELETE" : { | |
e9cd3bd4 | 28576 | "allowtoken" : 1, |
5f26e15b TL |
28577 | "description" : "Destroy Ceph Monitor and Manager.", |
28578 | "method" : "DELETE", | |
28579 | "name" : "destroymon", | |
28580 | "parameters" : { | |
28581 | "additionalProperties" : 0, | |
28582 | "properties" : { | |
1e3f8156 TL |
28583 | "monid" : { |
28584 | "description" : "Monitor ID", | |
28585 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", | |
28586 | "type" : "string" | |
28587 | }, | |
28588 | "node" : { | |
28589 | "description" : "The cluster node name.", | |
28590 | "format" : "pve-node", | |
28591 | "type" : "string", | |
28592 | "typetext" : "<string>" | |
28593 | } | |
28594 | } | |
28595 | }, | |
28596 | "permissions" : { | |
28597 | "check" : [ | |
28598 | "perm", | |
28599 | "/", | |
28600 | [ | |
28601 | "Sys.Modify" | |
28602 | ] | |
28603 | ] | |
28604 | }, | |
28605 | "protected" : 1, | |
28606 | "proxyto" : "node", | |
28607 | "returns" : { | |
28608 | "type" : "string" | |
28609 | } | |
28610 | }, | |
28611 | "POST" : { | |
e9cd3bd4 | 28612 | "allowtoken" : 1, |
1e3f8156 TL |
28613 | "description" : "Create Ceph Monitor and Manager", |
28614 | "method" : "POST", | |
28615 | "name" : "createmon", | |
28616 | "parameters" : { | |
28617 | "additionalProperties" : 0, | |
28618 | "properties" : { | |
28619 | "mon-address" : { | |
28620 | "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.", | |
28621 | "format" : "ip", | |
5f26e15b | 28622 | "optional" : 1, |
1e3f8156 TL |
28623 | "type" : "string", |
28624 | "typetext" : "<string>" | |
5f26e15b TL |
28625 | }, |
28626 | "monid" : { | |
1e3f8156 | 28627 | "description" : "The ID for the monitor, when omitted the same as the nodename", |
c5aa7e14 | 28628 | "maxLength" : 200, |
1e3f8156 | 28629 | "optional" : 1, |
5f26e15b TL |
28630 | "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?", |
28631 | "type" : "string" | |
28632 | }, | |
28633 | "node" : { | |
28634 | "description" : "The cluster node name.", | |
28635 | "format" : "pve-node", | |
28636 | "type" : "string", | |
28637 | "typetext" : "<string>" | |
28638 | } | |
28639 | } | |
28640 | }, | |
28641 | "permissions" : { | |
28642 | "check" : [ | |
28643 | "perm", | |
28644 | "/", | |
28645 | [ | |
28646 | "Sys.Modify" | |
28647 | ] | |
28648 | ] | |
28649 | }, | |
28650 | "protected" : 1, | |
28651 | "proxyto" : "node", | |
28652 | "returns" : { | |
7aacca6f | 28653 | "type" : "string" |
56122987 | 28654 | } |
4d47f125 | 28655 | } |
56122987 | 28656 | }, |
5f26e15b TL |
28657 | "leaf" : 1, |
28658 | "path" : "/nodes/{node}/ceph/mon/{monid}", | |
28659 | "text" : "{monid}" | |
28660 | } | |
28661 | ], | |
28662 | "info" : { | |
28663 | "GET" : { | |
e9cd3bd4 | 28664 | "allowtoken" : 1, |
5f26e15b TL |
28665 | "description" : "Get Ceph monitor list.", |
28666 | "method" : "GET", | |
28667 | "name" : "listmon", | |
28668 | "parameters" : { | |
28669 | "additionalProperties" : 0, | |
28670 | "properties" : { | |
28671 | "node" : { | |
28672 | "description" : "The cluster node name.", | |
28673 | "format" : "pve-node", | |
28674 | "type" : "string", | |
28675 | "typetext" : "<string>" | |
28676 | } | |
28677 | } | |
28678 | }, | |
4d47f125 TL |
28679 | "permissions" : { |
28680 | "check" : [ | |
28681 | "perm", | |
28682 | "/", | |
28683 | [ | |
28684 | "Sys.Audit", | |
28685 | "Datastore.Audit" | |
28686 | ], | |
28687 | "any", | |
28688 | 1 | |
28689 | ] | |
56122987 | 28690 | }, |
4d47f125 TL |
28691 | "protected" : 1, |
28692 | "proxyto" : "node", | |
28693 | "returns" : { | |
28694 | "items" : { | |
28695 | "properties" : { | |
5f26e15b | 28696 | "addr" : { |
1e3f8156 TL |
28697 | "optional" : 1, |
28698 | "type" : "string" | |
28699 | }, | |
28700 | "host" : { | |
28701 | "optional" : 1, | |
4d47f125 TL |
28702 | "type" : "string" |
28703 | }, | |
5f26e15b | 28704 | "name" : { |
4d47f125 TL |
28705 | "type" : "string" |
28706 | } | |
7aacca6f | 28707 | }, |
4d47f125 TL |
28708 | "type" : "object" |
28709 | }, | |
5f26e15b TL |
28710 | "links" : [ |
28711 | { | |
28712 | "href" : "{name}", | |
28713 | "rel" : "child" | |
28714 | } | |
28715 | ], | |
4d47f125 TL |
28716 | "type" : "array" |
28717 | } | |
4d47f125 TL |
28718 | } |
28719 | }, | |
5f26e15b TL |
28720 | "leaf" : 0, |
28721 | "path" : "/nodes/{node}/ceph/mon", | |
28722 | "text" : "mon" | |
4d47f125 TL |
28723 | }, |
28724 | { | |
28725 | "children" : [ | |
28726 | { | |
28727 | "info" : { | |
5f26e15b | 28728 | "POST" : { |
e9cd3bd4 | 28729 | "allowtoken" : 1, |
5f26e15b TL |
28730 | "description" : "Create a Ceph filesystem", |
28731 | "method" : "POST", | |
28732 | "name" : "createfs", | |
4d47f125 TL |
28733 | "parameters" : { |
28734 | "additionalProperties" : 0, | |
28735 | "properties" : { | |
5f26e15b | 28736 | "add-storage" : { |
4d47f125 | 28737 | "default" : 0, |
5f26e15b | 28738 | "description" : "Configure the created CephFS as storage for this cluster.", |
4d47f125 TL |
28739 | "optional" : 1, |
28740 | "type" : "boolean", | |
28741 | "typetext" : "<boolean>" | |
28742 | }, | |
5f26e15b TL |
28743 | "name" : { |
28744 | "default" : "cephfs", | |
28745 | "description" : "The ceph filesystem name.", | |
28746 | "optional" : 1, | |
28747 | "type" : "string", | |
28748 | "typetext" : "<string>" | |
4d47f125 TL |
28749 | }, |
28750 | "node" : { | |
28751 | "description" : "The cluster node name.", | |
28752 | "format" : "pve-node", | |
28753 | "type" : "string", | |
28754 | "typetext" : "<string>" | |
5f26e15b TL |
28755 | }, |
28756 | "pg_num" : { | |
28757 | "default" : 128, | |
28758 | "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.", | |
28759 | "maximum" : 32768, | |
28760 | "minimum" : 8, | |
28761 | "optional" : 1, | |
28762 | "type" : "integer", | |
28763 | "typetext" : "<integer> (8 - 32768)" | |
4d47f125 TL |
28764 | } |
28765 | } | |
7aacca6f | 28766 | }, |
4d47f125 TL |
28767 | "permissions" : { |
28768 | "check" : [ | |
28769 | "perm", | |
28770 | "/", | |
28771 | [ | |
28772 | "Sys.Modify" | |
28773 | ] | |
28774 | ] | |
7aacca6f | 28775 | }, |
4d47f125 TL |
28776 | "protected" : 1, |
28777 | "proxyto" : "node", | |
28778 | "returns" : { | |
44660702 | 28779 | "type" : "string" |
4d47f125 TL |
28780 | } |
28781 | } | |
28782 | }, | |
28783 | "leaf" : 1, | |
5f26e15b TL |
28784 | "path" : "/nodes/{node}/ceph/fs/{name}", |
28785 | "text" : "{name}" | |
4d47f125 TL |
28786 | } |
28787 | ], | |
28788 | "info" : { | |
28789 | "GET" : { | |
e9cd3bd4 | 28790 | "allowtoken" : 1, |
5f26e15b | 28791 | "description" : "Directory index.", |
4d47f125 | 28792 | "method" : "GET", |
5f26e15b | 28793 | "name" : "index", |
4d47f125 TL |
28794 | "parameters" : { |
28795 | "additionalProperties" : 0, | |
28796 | "properties" : { | |
28797 | "node" : { | |
28798 | "description" : "The cluster node name.", | |
28799 | "format" : "pve-node", | |
28800 | "type" : "string", | |
28801 | "typetext" : "<string>" | |
28802 | } | |
28803 | } | |
28804 | }, | |
28805 | "permissions" : { | |
28806 | "check" : [ | |
28807 | "perm", | |
28808 | "/", | |
28809 | [ | |
28810 | "Sys.Audit", | |
28811 | "Datastore.Audit" | |
28812 | ], | |
28813 | "any", | |
28814 | 1 | |
28815 | ] | |
28816 | }, | |
28817 | "protected" : 1, | |
95895385 | 28818 | "proxyto" : "node", |
4d47f125 TL |
28819 | "returns" : { |
28820 | "items" : { | |
28821 | "properties" : { | |
5f26e15b TL |
28822 | "data_pool" : { |
28823 | "description" : "The name of the data pool.", | |
28824 | "type" : "string" | |
28825 | }, | |
28826 | "metadata_pool" : { | |
28827 | "description" : "The name of the metadata pool.", | |
4d47f125 TL |
28828 | "type" : "string" |
28829 | }, | |
28830 | "name" : { | |
5f26e15b | 28831 | "description" : "The ceph filesystem name.", |
4d47f125 TL |
28832 | "type" : "string" |
28833 | } | |
7aacca6f | 28834 | }, |
4d47f125 TL |
28835 | "type" : "object" |
28836 | }, | |
28837 | "links" : [ | |
28838 | { | |
28839 | "href" : "{name}", | |
28840 | "rel" : "child" | |
28841 | } | |
28842 | ], | |
28843 | "type" : "array" | |
28844 | } | |
5f26e15b TL |
28845 | } |
28846 | }, | |
28847 | "leaf" : 0, | |
28848 | "path" : "/nodes/{node}/ceph/fs", | |
28849 | "text" : "fs" | |
28850 | }, | |
28851 | { | |
28852 | "info" : { | |
28853 | "GET" : { | |
e9cd3bd4 | 28854 | "allowtoken" : 1, |
5f26e15b TL |
28855 | "description" : "List local disks.", |
28856 | "method" : "GET", | |
28857 | "name" : "disks", | |
4d47f125 TL |
28858 | "parameters" : { |
28859 | "additionalProperties" : 0, | |
28860 | "properties" : { | |
5f26e15b TL |
28861 | "node" : { |
28862 | "description" : "The cluster node name.", | |
28863 | "format" : "pve-node", | |
28864 | "type" : "string", | |
28865 | "typetext" : "<string>" | |
44660702 | 28866 | }, |
5f26e15b TL |
28867 | "type" : { |
28868 | "description" : "Only list specific types of disks.", | |
28869 | "enum" : [ | |
28870 | "unused", | |
28871 | "journal_disks" | |
28872 | ], | |
44660702 | 28873 | "optional" : 1, |
44660702 | 28874 | "type" : "string" |
5f26e15b TL |
28875 | } |
28876 | } | |
28877 | }, | |
28878 | "permissions" : { | |
28879 | "check" : [ | |
28880 | "perm", | |
28881 | "/", | |
28882 | [ | |
28883 | "Sys.Audit", | |
28884 | "Datastore.Audit" | |
28885 | ], | |
28886 | "any", | |
28887 | 1 | |
28888 | ] | |
28889 | }, | |
28890 | "protected" : 1, | |
28891 | "proxyto" : "node", | |
28892 | "returns" : { | |
28893 | "items" : { | |
28894 | "properties" : { | |
28895 | "dev" : { | |
28896 | "type" : "string" | |
28897 | }, | |
28898 | "gpt" : { | |
28899 | "type" : "boolean" | |
28900 | }, | |
28901 | "model" : { | |
28902 | "optional" : 1, | |
28903 | "type" : "string" | |
28904 | }, | |
28905 | "osdid" : { | |
28906 | "type" : "integer" | |
28907 | }, | |
28908 | "serial" : { | |
28909 | "optional" : 1, | |
28910 | "type" : "string" | |
28911 | }, | |
28912 | "size" : { | |
28913 | "type" : "integer" | |
28914 | }, | |
28915 | "used" : { | |
28916 | "optional" : 1, | |
28917 | "type" : "string" | |
28918 | }, | |
28919 | "vendor" : { | |
28920 | "optional" : 1, | |
28921 | "type" : "string" | |
28922 | } | |
44660702 | 28923 | }, |
5f26e15b TL |
28924 | "type" : "object" |
28925 | }, | |
28926 | "type" : "array" | |
28927 | } | |
28928 | } | |
28929 | }, | |
28930 | "leaf" : 1, | |
28931 | "path" : "/nodes/{node}/ceph/disks", | |
28932 | "text" : "disks" | |
28933 | }, | |
28934 | { | |
28935 | "info" : { | |
28936 | "GET" : { | |
e9cd3bd4 | 28937 | "allowtoken" : 1, |
5f26e15b TL |
28938 | "description" : "Get Ceph configuration.", |
28939 | "method" : "GET", | |
28940 | "name" : "config", | |
28941 | "parameters" : { | |
28942 | "additionalProperties" : 0, | |
28943 | "properties" : { | |
4d47f125 TL |
28944 | "node" : { |
28945 | "description" : "The cluster node name.", | |
28946 | "format" : "pve-node", | |
28947 | "type" : "string", | |
28948 | "typetext" : "<string>" | |
7aacca6f | 28949 | } |
4d47f125 | 28950 | } |
44660702 | 28951 | }, |
4d47f125 TL |
28952 | "permissions" : { |
28953 | "check" : [ | |
28954 | "perm", | |
28955 | "/", | |
28956 | [ | |
5f26e15b TL |
28957 | "Sys.Audit", |
28958 | "Datastore.Audit" | |
28959 | ], | |
28960 | "any", | |
28961 | 1 | |
4d47f125 | 28962 | ] |
56122987 | 28963 | }, |
95895385 | 28964 | "proxyto" : "node", |
4d47f125 | 28965 | "returns" : { |
7aacca6f | 28966 | "type" : "string" |
4d47f125 TL |
28967 | } |
28968 | } | |
28969 | }, | |
5f26e15b TL |
28970 | "leaf" : 1, |
28971 | "path" : "/nodes/{node}/ceph/config", | |
28972 | "text" : "config" | |
4d47f125 | 28973 | }, |
7cbed89a TL |
28974 | { |
28975 | "info" : { | |
28976 | "GET" : { | |
e9cd3bd4 | 28977 | "allowtoken" : 1, |
7cbed89a TL |
28978 | "description" : "Get Ceph configuration database.", |
28979 | "method" : "GET", | |
28980 | "name" : "configdb", | |
28981 | "parameters" : { | |
28982 | "additionalProperties" : 0, | |
28983 | "properties" : { | |
28984 | "node" : { | |
28985 | "description" : "The cluster node name.", | |
28986 | "format" : "pve-node", | |
28987 | "type" : "string", | |
28988 | "typetext" : "<string>" | |
28989 | } | |
28990 | } | |
28991 | }, | |
28992 | "permissions" : { | |
28993 | "check" : [ | |
28994 | "perm", | |
28995 | "/", | |
28996 | [ | |
28997 | "Sys.Audit", | |
28998 | "Datastore.Audit" | |
28999 | ], | |
29000 | "any", | |
29001 | 1 | |
29002 | ] | |
29003 | }, | |
29004 | "protected" : 1, | |
29005 | "proxyto" : "node", | |
29006 | "returns" : { | |
29007 | "items" : { | |
29008 | "properties" : { | |
29009 | "can_update_at_runtime" : { | |
29010 | "type" : "boolean" | |
29011 | }, | |
29012 | "level" : { | |
29013 | "type" : "string" | |
29014 | }, | |
29015 | "mask" : { | |
29016 | "type" : "string" | |
29017 | }, | |
29018 | "name" : { | |
29019 | "type" : "string" | |
29020 | }, | |
29021 | "section" : { | |
29022 | "type" : "string" | |
29023 | }, | |
29024 | "value" : { | |
29025 | "type" : "string" | |
29026 | } | |
29027 | }, | |
29028 | "type" : "object" | |
29029 | }, | |
29030 | "type" : "array" | |
29031 | } | |
29032 | } | |
29033 | }, | |
29034 | "leaf" : 1, | |
29035 | "path" : "/nodes/{node}/ceph/configdb", | |
29036 | "text" : "configdb" | |
29037 | }, | |
4d47f125 TL |
29038 | { |
29039 | "info" : { | |
29040 | "POST" : { | |
e9cd3bd4 | 29041 | "allowtoken" : 1, |
4d47f125 TL |
29042 | "description" : "Create initial ceph default configuration and setup symlinks.", |
29043 | "method" : "POST", | |
29044 | "name" : "init", | |
29045 | "parameters" : { | |
29046 | "additionalProperties" : 0, | |
29047 | "properties" : { | |
e2d681b3 TL |
29048 | "cluster-network" : { |
29049 | "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it", | |
29050 | "format" : "CIDR", | |
29051 | "maxLength" : 128, | |
29052 | "optional" : 1, | |
29053 | "requires" : "network", | |
29054 | "type" : "string", | |
29055 | "typetext" : "<string>" | |
29056 | }, | |
4d47f125 TL |
29057 | "disable_cephx" : { |
29058 | "default" : 0, | |
1e3f8156 | 29059 | "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!", |
56122987 | 29060 | "optional" : 1, |
4d47f125 TL |
29061 | "type" : "boolean", |
29062 | "typetext" : "<boolean>" | |
56122987 | 29063 | }, |
4d47f125 TL |
29064 | "min_size" : { |
29065 | "default" : 2, | |
29066 | "description" : "Minimum number of available replicas per object to allow I/O", | |
29067 | "maximum" : 7, | |
29068 | "minimum" : 1, | |
7aacca6f | 29069 | "optional" : 1, |
4d47f125 TL |
29070 | "type" : "integer", |
29071 | "typetext" : "<integer> (1 - 7)" | |
7aacca6f | 29072 | }, |
4d47f125 TL |
29073 | "network" : { |
29074 | "description" : "Use specific network for all ceph related traffic", | |
29075 | "format" : "CIDR", | |
29076 | "maxLength" : 128, | |
5d9c884c | 29077 | "optional" : 1, |
4d47f125 TL |
29078 | "type" : "string", |
29079 | "typetext" : "<string>" | |
5d9c884c | 29080 | }, |
4d47f125 TL |
29081 | "node" : { |
29082 | "description" : "The cluster node name.", | |
29083 | "format" : "pve-node", | |
29084 | "type" : "string", | |
29085 | "typetext" : "<string>" | |
7aacca6f | 29086 | }, |
4d47f125 TL |
29087 | "pg_bits" : { |
29088 | "default" : 6, | |
29089 | "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.", | |
29090 | "maximum" : 14, | |
29091 | "minimum" : 6, | |
de0983cb | 29092 | "optional" : 1, |
4d47f125 TL |
29093 | "type" : "integer", |
29094 | "typetext" : "<integer> (6 - 14)" | |
de0983cb | 29095 | }, |
44660702 | 29096 | "size" : { |
4d47f125 TL |
29097 | "default" : 3, |
29098 | "description" : "Targeted number of replicas per object", | |
29099 | "maximum" : 7, | |
29100 | "minimum" : 1, | |
7aacca6f | 29101 | "optional" : 1, |
4d47f125 TL |
29102 | "type" : "integer", |
29103 | "typetext" : "<integer> (1 - 7)" | |
56122987 | 29104 | } |
4d47f125 | 29105 | } |
44660702 | 29106 | }, |
4d47f125 TL |
29107 | "permissions" : { |
29108 | "check" : [ | |
29109 | "perm", | |
29110 | "/", | |
29111 | [ | |
29112 | "Sys.Modify" | |
29113 | ] | |
29114 | ] | |
5da3d723 | 29115 | }, |
4d47f125 TL |
29116 | "protected" : 1, |
29117 | "proxyto" : "node", | |
29118 | "returns" : { | |
29119 | "type" : "null" | |
29120 | } | |
29121 | } | |
29122 | }, | |
29123 | "leaf" : 1, | |
29124 | "path" : "/nodes/{node}/ceph/init", | |
29125 | "text" : "init" | |
29126 | }, | |
4d47f125 TL |
29127 | { |
29128 | "info" : { | |
29129 | "POST" : { | |
e9cd3bd4 | 29130 | "allowtoken" : 1, |
4d47f125 TL |
29131 | "description" : "Stop ceph services.", |
29132 | "method" : "POST", | |
29133 | "name" : "stop", | |
29134 | "parameters" : { | |
29135 | "additionalProperties" : 0, | |
29136 | "properties" : { | |
29137 | "node" : { | |
29138 | "description" : "The cluster node name.", | |
29139 | "format" : "pve-node", | |
29140 | "type" : "string", | |
29141 | "typetext" : "<string>" | |
29142 | }, | |
29143 | "service" : { | |
e2d681b3 | 29144 | "default" : "ceph.target", |
4d47f125 TL |
29145 | "description" : "Ceph service name.", |
29146 | "optional" : 1, | |
c5aa7e14 | 29147 | "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?", |
4d47f125 TL |
29148 | "type" : "string" |
29149 | } | |
29150 | } | |
7aacca6f | 29151 | }, |
4d47f125 TL |
29152 | "permissions" : { |
29153 | "check" : [ | |
29154 | "perm", | |
29155 | "/", | |
29156 | [ | |
29157 | "Sys.Modify" | |
29158 | ] | |
29159 | ] | |
7aacca6f | 29160 | }, |
4d47f125 TL |
29161 | "protected" : 1, |
29162 | "proxyto" : "node", | |
29163 | "returns" : { | |
29164 | "type" : "string" | |
29165 | } | |
29166 | } | |
29167 | }, | |
29168 | "leaf" : 1, | |
29169 | "path" : "/nodes/{node}/ceph/stop", | |
29170 | "text" : "stop" | |
29171 | }, | |
29172 | { | |
29173 | "info" : { | |
29174 | "POST" : { | |
e9cd3bd4 | 29175 | "allowtoken" : 1, |
4d47f125 TL |
29176 | "description" : "Start ceph services.", |
29177 | "method" : "POST", | |
29178 | "name" : "start", | |
29179 | "parameters" : { | |
29180 | "additionalProperties" : 0, | |
29181 | "properties" : { | |
29182 | "node" : { | |
29183 | "description" : "The cluster node name.", | |
29184 | "format" : "pve-node", | |
29185 | "type" : "string", | |
29186 | "typetext" : "<string>" | |
29187 | }, | |
29188 | "service" : { | |
e2d681b3 | 29189 | "default" : "ceph.target", |
4d47f125 TL |
29190 | "description" : "Ceph service name.", |
29191 | "optional" : 1, | |
c5aa7e14 | 29192 | "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?", |
4d47f125 TL |
29193 | "type" : "string" |
29194 | } | |
29195 | } | |
44660702 | 29196 | }, |
4d47f125 TL |
29197 | "permissions" : { |
29198 | "check" : [ | |
29199 | "perm", | |
29200 | "/", | |
29201 | [ | |
29202 | "Sys.Modify" | |
29203 | ] | |
29204 | ] | |
44660702 | 29205 | }, |
4d47f125 TL |
29206 | "protected" : 1, |
29207 | "proxyto" : "node", | |
29208 | "returns" : { | |
29209 | "type" : "string" | |
44660702 | 29210 | } |
7aacca6f DM |
29211 | } |
29212 | }, | |
4d47f125 TL |
29213 | "leaf" : 1, |
29214 | "path" : "/nodes/{node}/ceph/start", | |
29215 | "text" : "start" | |
29216 | }, | |
e2d681b3 TL |
29217 | { |
29218 | "info" : { | |
29219 | "POST" : { | |
e9cd3bd4 | 29220 | "allowtoken" : 1, |
e2d681b3 TL |
29221 | "description" : "Restart ceph services.", |
29222 | "method" : "POST", | |
29223 | "name" : "restart", | |
29224 | "parameters" : { | |
29225 | "additionalProperties" : 0, | |
29226 | "properties" : { | |
29227 | "node" : { | |
29228 | "description" : "The cluster node name.", | |
29229 | "format" : "pve-node", | |
29230 | "type" : "string", | |
29231 | "typetext" : "<string>" | |
29232 | }, | |
29233 | "service" : { | |
29234 | "default" : "ceph.target", | |
29235 | "description" : "Ceph service name.", | |
29236 | "optional" : 1, | |
c5aa7e14 | 29237 | "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?", |
e2d681b3 TL |
29238 | "type" : "string" |
29239 | } | |
29240 | } | |
29241 | }, | |
29242 | "permissions" : { | |
29243 | "check" : [ | |
29244 | "perm", | |
29245 | "/", | |
29246 | [ | |
29247 | "Sys.Modify" | |
29248 | ] | |
29249 | ] | |
29250 | }, | |
29251 | "protected" : 1, | |
29252 | "proxyto" : "node", | |
29253 | "returns" : { | |
29254 | "type" : "string" | |
29255 | } | |
29256 | } | |
29257 | }, | |
29258 | "leaf" : 1, | |
29259 | "path" : "/nodes/{node}/ceph/restart", | |
29260 | "text" : "restart" | |
29261 | }, | |
4d47f125 TL |
29262 | { |
29263 | "info" : { | |
29264 | "GET" : { | |
e9cd3bd4 | 29265 | "allowtoken" : 1, |
4d47f125 TL |
29266 | "description" : "Get ceph status.", |
29267 | "method" : "GET", | |
29268 | "name" : "status", | |
29269 | "parameters" : { | |
29270 | "additionalProperties" : 0, | |
29271 | "properties" : { | |
29272 | "node" : { | |
29273 | "description" : "The cluster node name.", | |
29274 | "format" : "pve-node", | |
29275 | "type" : "string", | |
29276 | "typetext" : "<string>" | |
29277 | } | |
29278 | } | |
29279 | }, | |
29280 | "permissions" : { | |
29281 | "check" : [ | |
29282 | "perm", | |
29283 | "/", | |
29284 | [ | |
29285 | "Sys.Audit", | |
29286 | "Datastore.Audit" | |
29287 | ], | |
29288 | "any", | |
29289 | 1 | |
29290 | ] | |
29291 | }, | |
29292 | "protected" : 1, | |
29293 | "proxyto" : "node", | |
29294 | "returns" : { | |
29295 | "type" : "object" | |
29296 | } | |
29297 | } | |
44660702 | 29298 | }, |
4d47f125 TL |
29299 | "leaf" : 1, |
29300 | "path" : "/nodes/{node}/ceph/status", | |
29301 | "text" : "status" | |
29302 | }, | |
44660702 | 29303 | { |
56122987 DM |
29304 | "children" : [ |
29305 | { | |
44660702 DM |
29306 | "info" : { |
29307 | "DELETE" : { | |
e9cd3bd4 | 29308 | "allowtoken" : 1, |
4d47f125 | 29309 | "description" : "Destroy pool", |
44660702 | 29310 | "method" : "DELETE", |
4d47f125 | 29311 | "name" : "destroypool", |
44660702 DM |
29312 | "parameters" : { |
29313 | "additionalProperties" : 0, | |
29314 | "properties" : { | |
4d47f125 | 29315 | "force" : { |
44660702 | 29316 | "default" : 0, |
4d47f125 | 29317 | "description" : "If true, destroys pool even if in use", |
44660702 | 29318 | "optional" : 1, |
013dc89f DM |
29319 | "type" : "boolean", |
29320 | "typetext" : "<boolean>" | |
7aacca6f | 29321 | }, |
4d47f125 TL |
29322 | "name" : { |
29323 | "description" : "The name of the pool. It must be unique.", | |
29324 | "type" : "string", | |
29325 | "typetext" : "<string>" | |
29326 | }, | |
44660702 DM |
29327 | "node" : { |
29328 | "description" : "The cluster node name.", | |
29329 | "format" : "pve-node", | |
013dc89f DM |
29330 | "type" : "string", |
29331 | "typetext" : "<string>" | |
56122987 | 29332 | }, |
4d47f125 TL |
29333 | "remove_storages" : { |
29334 | "default" : 0, | |
29335 | "description" : "Remove all pveceph-managed storages configured for this pool", | |
29336 | "optional" : 1, | |
29337 | "type" : "boolean", | |
29338 | "typetext" : "<boolean>" | |
44660702 | 29339 | } |
56122987 DM |
29340 | } |
29341 | }, | |
4d47f125 TL |
29342 | "permissions" : { |
29343 | "check" : [ | |
29344 | "perm", | |
29345 | "/", | |
29346 | [ | |
29347 | "Sys.Modify" | |
29348 | ] | |
29349 | ] | |
29350 | }, | |
44660702 DM |
29351 | "protected" : 1, |
29352 | "proxyto" : "node", | |
29353 | "returns" : { | |
29354 | "type" : "string" | |
29355 | } | |
29356 | } | |
29357 | }, | |
4d47f125 TL |
29358 | "leaf" : 1, |
29359 | "path" : "/nodes/{node}/ceph/pools/{name}", | |
29360 | "text" : "{name}" | |
44660702 DM |
29361 | } |
29362 | ], | |
29363 | "info" : { | |
29364 | "GET" : { | |
e9cd3bd4 | 29365 | "allowtoken" : 1, |
4d47f125 | 29366 | "description" : "List all pools.", |
44660702 | 29367 | "method" : "GET", |
4d47f125 | 29368 | "name" : "lspools", |
44660702 DM |
29369 | "parameters" : { |
29370 | "additionalProperties" : 0, | |
29371 | "properties" : { | |
29372 | "node" : { | |
29373 | "description" : "The cluster node name.", | |
29374 | "format" : "pve-node", | |
013dc89f DM |
29375 | "type" : "string", |
29376 | "typetext" : "<string>" | |
44660702 DM |
29377 | } |
29378 | } | |
29379 | }, | |
29380 | "permissions" : { | |
29381 | "check" : [ | |
29382 | "perm", | |
29383 | "/", | |
29384 | [ | |
29385 | "Sys.Audit", | |
29386 | "Datastore.Audit" | |
29387 | ], | |
29388 | "any", | |
29389 | 1 | |
29390 | ] | |
29391 | }, | |
29392 | "protected" : 1, | |
29393 | "proxyto" : "node", | |
29394 | "returns" : { | |
4d47f125 TL |
29395 | "items" : { |
29396 | "properties" : { | |
29397 | "pool" : { | |
29398 | "type" : "integer" | |
29399 | }, | |
29400 | "pool_name" : { | |
29401 | "type" : "string" | |
29402 | }, | |
29403 | "size" : { | |
29404 | "type" : "integer" | |
29405 | } | |
29406 | }, | |
29407 | "type" : "object" | |
29408 | }, | |
29409 | "links" : [ | |
29410 | { | |
29411 | "href" : "{pool_name}", | |
29412 | "rel" : "child" | |
29413 | } | |
29414 | ], | |
29415 | "type" : "array" | |
44660702 DM |
29416 | } |
29417 | }, | |
29418 | "POST" : { | |
e9cd3bd4 | 29419 | "allowtoken" : 1, |
4d47f125 | 29420 | "description" : "Create POOL", |
44660702 | 29421 | "method" : "POST", |
4d47f125 | 29422 | "name" : "createpool", |
44660702 DM |
29423 | "parameters" : { |
29424 | "additionalProperties" : 0, | |
29425 | "properties" : { | |
4d47f125 | 29426 | "add_storages" : { |
e2d681b3 | 29427 | "description" : "Configure VM and CT storage using the new pool.", |
5d9c884c DM |
29428 | "optional" : 1, |
29429 | "type" : "boolean", | |
29430 | "typetext" : "<boolean>" | |
29431 | }, | |
4d47f125 TL |
29432 | "application" : { |
29433 | "description" : "The application of the pool, 'rbd' by default.", | |
44660702 | 29434 | "enum" : [ |
4d47f125 TL |
29435 | "rbd", |
29436 | "cephfs", | |
29437 | "rgw" | |
44660702 DM |
29438 | ], |
29439 | "optional" : 1, | |
29440 | "type" : "string" | |
29441 | }, | |
4d47f125 TL |
29442 | "crush_rule" : { |
29443 | "description" : "The rule to use for mapping object placement in the cluster.", | |
29444 | "optional" : 1, | |
29445 | "type" : "string", | |
29446 | "typetext" : "<string>" | |
29447 | }, | |
29448 | "min_size" : { | |
29449 | "default" : 2, | |
29450 | "description" : "Minimum number of replicas per object", | |
29451 | "maximum" : 7, | |
29452 | "minimum" : 1, | |
44660702 | 29453 | "optional" : 1, |
4d47f125 TL |
29454 | "type" : "integer", |
29455 | "typetext" : "<integer> (1 - 7)" | |
29456 | }, | |
29457 | "name" : { | |
29458 | "description" : "The name of the pool. It must be unique.", | |
013dc89f DM |
29459 | "type" : "string", |
29460 | "typetext" : "<string>" | |
44660702 DM |
29461 | }, |
29462 | "node" : { | |
29463 | "description" : "The cluster node name.", | |
29464 | "format" : "pve-node", | |
013dc89f DM |
29465 | "type" : "string", |
29466 | "typetext" : "<string>" | |
2489d6df | 29467 | }, |
4d47f125 | 29468 | "pg_num" : { |
e2d681b3 | 29469 | "default" : 128, |
4d47f125 TL |
29470 | "description" : "Number of placement groups.", |
29471 | "maximum" : 32768, | |
29472 | "minimum" : 8, | |
2489d6df | 29473 | "optional" : 1, |
4d47f125 TL |
29474 | "type" : "integer", |
29475 | "typetext" : "<integer> (8 - 32768)" | |
29476 | }, | |
29477 | "size" : { | |
29478 | "default" : 3, | |
29479 | "description" : "Number of replicas per object", | |
29480 | "maximum" : 7, | |
29481 | "minimum" : 1, | |
29482 | "optional" : 1, | |
29483 | "type" : "integer", | |
29484 | "typetext" : "<integer> (1 - 7)" | |
44660702 | 29485 | } |
56122987 | 29486 | } |
44660702 | 29487 | }, |
4d47f125 TL |
29488 | "permissions" : { |
29489 | "check" : [ | |
29490 | "perm", | |
29491 | "/", | |
29492 | [ | |
29493 | "Sys.Modify" | |
29494 | ] | |
29495 | ] | |
29496 | }, | |
44660702 DM |
29497 | "protected" : 1, |
29498 | "proxyto" : "node", | |
29499 | "returns" : { | |
29500 | "type" : "string" | |
29501 | } | |
56122987 | 29502 | } |
44660702 | 29503 | }, |
7aacca6f | 29504 | "leaf" : 0, |
4d47f125 TL |
29505 | "path" : "/nodes/{node}/ceph/pools", |
29506 | "text" : "pools" | |
7aacca6f DM |
29507 | }, |
29508 | { | |
4d47f125 TL |
29509 | "children" : [ |
29510 | { | |
29511 | "info" : { | |
29512 | "DELETE" : { | |
e9cd3bd4 | 29513 | "allowtoken" : 1, |
4d47f125 TL |
29514 | "description" : "Unset a ceph flag", |
29515 | "method" : "DELETE", | |
29516 | "name" : "unset_flag", | |
29517 | "parameters" : { | |
29518 | "additionalProperties" : 0, | |
29519 | "properties" : { | |
29520 | "flag" : { | |
1c532546 | 29521 | "description" : "The ceph flag to unset", |
4d47f125 | 29522 | "enum" : [ |
1c532546 TL |
29523 | "nobackfill", |
29524 | "nodeep-scrub", | |
4d47f125 | 29525 | "nodown", |
4d47f125 | 29526 | "noin", |
1c532546 | 29527 | "noout", |
4d47f125 TL |
29528 | "norebalance", |
29529 | "norecover", | |
29530 | "noscrub", | |
1c532546 TL |
29531 | "notieragent", |
29532 | "noup", | |
29533 | "pause" | |
4d47f125 TL |
29534 | ], |
29535 | "type" : "string" | |
29536 | }, | |
29537 | "node" : { | |
29538 | "description" : "The cluster node name.", | |
29539 | "format" : "pve-node", | |
29540 | "type" : "string", | |
29541 | "typetext" : "<string>" | |
29542 | } | |
29543 | } | |
29544 | }, | |
29545 | "permissions" : { | |
29546 | "check" : [ | |
29547 | "perm", | |
29548 | "/", | |
29549 | [ | |
29550 | "Sys.Modify" | |
29551 | ] | |
29552 | ] | |
29553 | }, | |
29554 | "protected" : 1, | |
29555 | "proxyto" : "node", | |
29556 | "returns" : { | |
29557 | "type" : "null" | |
29558 | } | |
29559 | }, | |
29560 | "POST" : { | |
e9cd3bd4 | 29561 | "allowtoken" : 1, |
1c532546 | 29562 | "description" : "Set a specific ceph flag", |
4d47f125 TL |
29563 | "method" : "POST", |
29564 | "name" : "set_flag", | |
29565 | "parameters" : { | |
29566 | "additionalProperties" : 0, | |
29567 | "properties" : { | |
29568 | "flag" : { | |
1c532546 | 29569 | "description" : "The ceph flag to set", |
4d47f125 | 29570 | "enum" : [ |
1c532546 TL |
29571 | "nobackfill", |
29572 | "nodeep-scrub", | |
4d47f125 | 29573 | "nodown", |
4d47f125 | 29574 | "noin", |
1c532546 | 29575 | "noout", |
4d47f125 TL |
29576 | "norebalance", |
29577 | "norecover", | |
29578 | "noscrub", | |
1c532546 TL |
29579 | "notieragent", |
29580 | "noup", | |
29581 | "pause" | |
4d47f125 TL |
29582 | ], |
29583 | "type" : "string" | |
29584 | }, | |
29585 | "node" : { | |
29586 | "description" : "The cluster node name.", | |
29587 | "format" : "pve-node", | |
29588 | "type" : "string", | |
29589 | "typetext" : "<string>" | |
29590 | } | |
29591 | } | |
29592 | }, | |
29593 | "permissions" : { | |
29594 | "check" : [ | |
29595 | "perm", | |
29596 | "/", | |
29597 | [ | |
29598 | "Sys.Modify" | |
29599 | ] | |
29600 | ] | |
29601 | }, | |
29602 | "protected" : 1, | |
29603 | "proxyto" : "node", | |
29604 | "returns" : { | |
29605 | "type" : "null" | |
29606 | } | |
29607 | } | |
29608 | }, | |
29609 | "leaf" : 1, | |
29610 | "path" : "/nodes/{node}/ceph/flags/{flag}", | |
29611 | "text" : "{flag}" | |
29612 | } | |
29613 | ], | |
56122987 DM |
29614 | "info" : { |
29615 | "GET" : { | |
e9cd3bd4 | 29616 | "allowtoken" : 1, |
4d47f125 | 29617 | "description" : "get all set ceph flags", |
44660702 | 29618 | "method" : "GET", |
4d47f125 | 29619 | "name" : "get_flags", |
44660702 DM |
29620 | "parameters" : { |
29621 | "additionalProperties" : 0, | |
29622 | "properties" : { | |
29623 | "node" : { | |
29624 | "description" : "The cluster node name.", | |
29625 | "format" : "pve-node", | |
013dc89f DM |
29626 | "type" : "string", |
29627 | "typetext" : "<string>" | |
44660702 DM |
29628 | } |
29629 | } | |
29630 | }, | |
56122987 DM |
29631 | "permissions" : { |
29632 | "check" : [ | |
29633 | "perm", | |
29634 | "/", | |
29635 | [ | |
4d47f125 TL |
29636 | "Sys.Audit" |
29637 | ] | |
56122987 | 29638 | ] |
4d47f125 TL |
29639 | }, |
29640 | "protected" : 1, | |
29641 | "proxyto" : "node", | |
29642 | "returns" : { | |
29643 | "type" : "string" | |
44660702 | 29644 | } |
56122987 | 29645 | } |
44660702 | 29646 | }, |
4d47f125 TL |
29647 | "leaf" : 0, |
29648 | "path" : "/nodes/{node}/ceph/flags", | |
29649 | "text" : "flags" | |
56122987 DM |
29650 | }, |
29651 | { | |
56122987 DM |
29652 | "info" : { |
29653 | "GET" : { | |
e9cd3bd4 | 29654 | "allowtoken" : 1, |
4d47f125 | 29655 | "description" : "Get OSD crush map", |
44660702 | 29656 | "method" : "GET", |
4d47f125 | 29657 | "name" : "crush", |
56122987 | 29658 | "parameters" : { |
7aacca6f | 29659 | "additionalProperties" : 0, |
56122987 | 29660 | "properties" : { |
56122987 | 29661 | "node" : { |
7aacca6f | 29662 | "description" : "The cluster node name.", |
44660702 | 29663 | "format" : "pve-node", |
013dc89f DM |
29664 | "type" : "string", |
29665 | "typetext" : "<string>" | |
56122987 | 29666 | } |
7aacca6f | 29667 | } |
56122987 | 29668 | }, |
56122987 DM |
29669 | "permissions" : { |
29670 | "check" : [ | |
29671 | "perm", | |
29672 | "/", | |
29673 | [ | |
29674 | "Sys.Audit", | |
29675 | "Datastore.Audit" | |
29676 | ], | |
29677 | "any", | |
29678 | 1 | |
29679 | ] | |
44660702 | 29680 | }, |
4d47f125 TL |
29681 | "protected" : 1, |
29682 | "proxyto" : "node", | |
44660702 DM |
29683 | "returns" : { |
29684 | "type" : "string" | |
7aacca6f DM |
29685 | } |
29686 | } | |
44660702 DM |
29687 | }, |
29688 | "leaf" : 1, | |
4d47f125 TL |
29689 | "path" : "/nodes/{node}/ceph/crush", |
29690 | "text" : "crush" | |
7aacca6f DM |
29691 | }, |
29692 | { | |
7aacca6f DM |
29693 | "info" : { |
29694 | "GET" : { | |
e9cd3bd4 | 29695 | "allowtoken" : 1, |
4d47f125 | 29696 | "description" : "Read ceph log", |
7aacca6f | 29697 | "method" : "GET", |
4d47f125 | 29698 | "name" : "log", |
7aacca6f DM |
29699 | "parameters" : { |
29700 | "additionalProperties" : 0, | |
29701 | "properties" : { | |
4d47f125 TL |
29702 | "limit" : { |
29703 | "minimum" : 0, | |
29704 | "optional" : 1, | |
29705 | "type" : "integer", | |
29706 | "typetext" : "<integer> (0 - N)" | |
29707 | }, | |
7aacca6f | 29708 | "node" : { |
7aacca6f | 29709 | "description" : "The cluster node name.", |
44660702 | 29710 | "format" : "pve-node", |
013dc89f DM |
29711 | "type" : "string", |
29712 | "typetext" : "<string>" | |
4d47f125 TL |
29713 | }, |
29714 | "start" : { | |
29715 | "minimum" : 0, | |
29716 | "optional" : 1, | |
29717 | "type" : "integer", | |
29718 | "typetext" : "<integer> (0 - N)" | |
7aacca6f DM |
29719 | } |
29720 | } | |
29721 | }, | |
44660702 DM |
29722 | "permissions" : { |
29723 | "check" : [ | |
29724 | "perm", | |
4d47f125 | 29725 | "/nodes/{node}", |
44660702 | 29726 | [ |
4d47f125 TL |
29727 | "Sys.Syslog" |
29728 | ] | |
44660702 DM |
29729 | ] |
29730 | }, | |
7aacca6f | 29731 | "protected" : 1, |
44660702 | 29732 | "proxyto" : "node", |
7aacca6f DM |
29733 | "returns" : { |
29734 | "items" : { | |
29735 | "properties" : { | |
4d47f125 TL |
29736 | "n" : { |
29737 | "description" : "Line number", | |
29738 | "type" : "integer" | |
56122987 | 29739 | }, |
4d47f125 TL |
29740 | "t" : { |
29741 | "description" : "Line text", | |
56122987 DM |
29742 | "type" : "string" |
29743 | } | |
7aacca6f DM |
29744 | }, |
29745 | "type" : "object" | |
56122987 DM |
29746 | }, |
29747 | "type" : "array" | |
44660702 | 29748 | } |
4d47f125 TL |
29749 | } |
29750 | }, | |
29751 | "leaf" : 1, | |
29752 | "path" : "/nodes/{node}/ceph/log", | |
29753 | "text" : "log" | |
29754 | }, | |
29755 | { | |
29756 | "info" : { | |
29757 | "GET" : { | |
e9cd3bd4 | 29758 | "allowtoken" : 1, |
4d47f125 TL |
29759 | "description" : "List ceph rules.", |
29760 | "method" : "GET", | |
29761 | "name" : "rules", | |
44660702 DM |
29762 | "parameters" : { |
29763 | "additionalProperties" : 0, | |
29764 | "properties" : { | |
29765 | "node" : { | |
29766 | "description" : "The cluster node name.", | |
29767 | "format" : "pve-node", | |
013dc89f DM |
29768 | "type" : "string", |
29769 | "typetext" : "<string>" | |
44660702 DM |
29770 | } |
29771 | } | |
29772 | }, | |
7aacca6f DM |
29773 | "permissions" : { |
29774 | "check" : [ | |
29775 | "perm", | |
29776 | "/", | |
29777 | [ | |
4d47f125 TL |
29778 | "Sys.Audit", |
29779 | "Datastore.Audit" | |
29780 | ], | |
29781 | "any", | |
29782 | 1 | |
7aacca6f DM |
29783 | ] |
29784 | }, | |
44660702 | 29785 | "protected" : 1, |
7aacca6f | 29786 | "proxyto" : "node", |
56122987 | 29787 | "returns" : { |
4d47f125 TL |
29788 | "items" : { |
29789 | "properties" : {}, | |
29790 | "type" : "object" | |
29791 | }, | |
29792 | "links" : [ | |
29793 | { | |
29794 | "href" : "{name}", | |
29795 | "rel" : "child" | |
29796 | } | |
29797 | ], | |
29798 | "type" : "array" | |
44660702 | 29799 | } |
56122987 | 29800 | } |
44660702 | 29801 | }, |
4d47f125 TL |
29802 | "leaf" : 1, |
29803 | "path" : "/nodes/{node}/ceph/rules", | |
29804 | "text" : "rules" | |
29805 | } | |
29806 | ], | |
29807 | "info" : { | |
29808 | "GET" : { | |
e9cd3bd4 | 29809 | "allowtoken" : 1, |
4d47f125 TL |
29810 | "description" : "Directory index.", |
29811 | "method" : "GET", | |
29812 | "name" : "index", | |
29813 | "parameters" : { | |
29814 | "additionalProperties" : 0, | |
29815 | "properties" : { | |
29816 | "node" : { | |
29817 | "description" : "The cluster node name.", | |
29818 | "format" : "pve-node", | |
29819 | "type" : "string", | |
29820 | "typetext" : "<string>" | |
29821 | } | |
29822 | } | |
29823 | }, | |
29824 | "permissions" : { | |
29825 | "check" : [ | |
29826 | "perm", | |
29827 | "/", | |
29828 | [ | |
29829 | "Sys.Audit", | |
29830 | "Datastore.Audit" | |
29831 | ], | |
29832 | "any", | |
29833 | 1 | |
29834 | ] | |
29835 | }, | |
29836 | "returns" : { | |
29837 | "items" : { | |
29838 | "properties" : {}, | |
29839 | "type" : "object" | |
29840 | }, | |
29841 | "links" : [ | |
29842 | { | |
29843 | "href" : "{name}", | |
29844 | "rel" : "child" | |
29845 | } | |
29846 | ], | |
29847 | "type" : "array" | |
29848 | } | |
29849 | } | |
29850 | }, | |
29851 | "leaf" : 0, | |
29852 | "path" : "/nodes/{node}/ceph", | |
29853 | "text" : "ceph" | |
29854 | }, | |
29855 | { | |
29856 | "children" : [ | |
56122987 DM |
29857 | { |
29858 | "info" : { | |
4d47f125 | 29859 | "GET" : { |
e9cd3bd4 | 29860 | "allowtoken" : 1, |
4d47f125 TL |
29861 | "description" : "Extract configuration from vzdump backup archive.", |
29862 | "method" : "GET", | |
29863 | "name" : "extractconfig", | |
29864 | "parameters" : { | |
29865 | "additionalProperties" : 0, | |
29866 | "properties" : { | |
44660702 DM |
29867 | "node" : { |
29868 | "description" : "The cluster node name.", | |
29869 | "format" : "pve-node", | |
013dc89f DM |
29870 | "type" : "string", |
29871 | "typetext" : "<string>" | |
44660702 | 29872 | }, |
4d47f125 TL |
29873 | "volume" : { |
29874 | "description" : "Volume identifier", | |
29875 | "type" : "string", | |
29876 | "typetext" : "<string>" | |
44660702 DM |
29877 | } |
29878 | } | |
7aacca6f | 29879 | }, |
56122987 | 29880 | "permissions" : { |
4d47f125 TL |
29881 | "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.", |
29882 | "user" : "all" | |
56122987 | 29883 | }, |
7aacca6f | 29884 | "protected" : 1, |
44660702 DM |
29885 | "proxyto" : "node", |
29886 | "returns" : { | |
4d47f125 | 29887 | "type" : "string" |
7aacca6f DM |
29888 | } |
29889 | } | |
29890 | }, | |
7aacca6f | 29891 | "leaf" : 1, |
4d47f125 TL |
29892 | "path" : "/nodes/{node}/vzdump/extractconfig", |
29893 | "text" : "extractconfig" | |
29894 | } | |
29895 | ], | |
29896 | "info" : { | |
29897 | "POST" : { | |
e9cd3bd4 | 29898 | "allowtoken" : 1, |
4d47f125 TL |
29899 | "description" : "Create backup.", |
29900 | "method" : "POST", | |
29901 | "name" : "vzdump", | |
29902 | "parameters" : { | |
29903 | "additionalProperties" : 0, | |
29904 | "properties" : { | |
29905 | "all" : { | |
29906 | "default" : 0, | |
29907 | "description" : "Backup all known guest systems on this host.", | |
29908 | "optional" : 1, | |
29909 | "type" : "boolean", | |
29910 | "typetext" : "<boolean>" | |
29911 | }, | |
29912 | "bwlimit" : { | |
29913 | "default" : 0, | |
29914 | "description" : "Limit I/O bandwidth (KBytes per second).", | |
29915 | "minimum" : 0, | |
29916 | "optional" : 1, | |
29917 | "type" : "integer", | |
29918 | "typetext" : "<integer> (0 - N)" | |
29919 | }, | |
29920 | "compress" : { | |
29921 | "default" : "0", | |
29922 | "description" : "Compress dump file.", | |
29923 | "enum" : [ | |
29924 | "0", | |
29925 | "1", | |
29926 | "gzip", | |
c5aa7e14 TL |
29927 | "lzo", |
29928 | "zstd" | |
4d47f125 TL |
29929 | ], |
29930 | "optional" : 1, | |
29931 | "type" : "string" | |
29932 | }, | |
29933 | "dumpdir" : { | |
29934 | "description" : "Store resulting files to specified directory.", | |
29935 | "optional" : 1, | |
29936 | "type" : "string", | |
29937 | "typetext" : "<string>" | |
29938 | }, | |
29939 | "exclude" : { | |
29940 | "description" : "Exclude specified guest systems (assumes --all)", | |
29941 | "format" : "pve-vmid-list", | |
29942 | "optional" : 1, | |
29943 | "type" : "string", | |
29944 | "typetext" : "<string>" | |
29945 | }, | |
29946 | "exclude-path" : { | |
29947 | "description" : "Exclude certain files/directories (shell globs).", | |
29948 | "format" : "string-alist", | |
29949 | "optional" : 1, | |
29950 | "type" : "string", | |
29951 | "typetext" : "<string>" | |
29952 | }, | |
29953 | "ionice" : { | |
29954 | "default" : 7, | |
29955 | "description" : "Set CFQ ionice priority.", | |
29956 | "maximum" : 8, | |
29957 | "minimum" : 0, | |
29958 | "optional" : 1, | |
29959 | "type" : "integer", | |
29960 | "typetext" : "<integer> (0 - 8)" | |
29961 | }, | |
29962 | "lockwait" : { | |
29963 | "default" : 180, | |
29964 | "description" : "Maximal time to wait for the global lock (minutes).", | |
29965 | "minimum" : 0, | |
29966 | "optional" : 1, | |
29967 | "type" : "integer", | |
29968 | "typetext" : "<integer> (0 - N)" | |
29969 | }, | |
29970 | "mailnotification" : { | |
29971 | "default" : "always", | |
29972 | "description" : "Specify when to send an email", | |
29973 | "enum" : [ | |
29974 | "always", | |
29975 | "failure" | |
29976 | ], | |
29977 | "optional" : 1, | |
29978 | "type" : "string" | |
29979 | }, | |
29980 | "mailto" : { | |
29981 | "description" : "Comma-separated list of email addresses that should receive email notifications.", | |
29982 | "format" : "string-list", | |
29983 | "optional" : 1, | |
29984 | "type" : "string", | |
29985 | "typetext" : "<string>" | |
29986 | }, | |
29987 | "maxfiles" : { | |
29988 | "default" : 1, | |
29989 | "description" : "Maximal number of backup files per guest system.", | |
29990 | "minimum" : 1, | |
29991 | "optional" : 1, | |
29992 | "type" : "integer", | |
29993 | "typetext" : "<integer> (1 - N)" | |
29994 | }, | |
29995 | "mode" : { | |
29996 | "default" : "snapshot", | |
29997 | "description" : "Backup mode.", | |
29998 | "enum" : [ | |
29999 | "snapshot", | |
30000 | "suspend", | |
30001 | "stop" | |
30002 | ], | |
30003 | "optional" : 1, | |
30004 | "type" : "string" | |
30005 | }, | |
30006 | "node" : { | |
30007 | "description" : "Only run if executed on this node.", | |
30008 | "format" : "pve-node", | |
30009 | "optional" : 1, | |
30010 | "type" : "string", | |
30011 | "typetext" : "<string>" | |
30012 | }, | |
30013 | "pigz" : { | |
30014 | "default" : 0, | |
30015 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
30016 | "optional" : 1, | |
30017 | "type" : "integer", | |
30018 | "typetext" : "<integer>" | |
30019 | }, | |
9226ccbc TL |
30020 | "pool" : { |
30021 | "description" : "Backup all known guest systems included in the specified pool.", | |
30022 | "optional" : 1, | |
30023 | "type" : "string", | |
30024 | "typetext" : "<string>" | |
30025 | }, | |
4d47f125 TL |
30026 | "quiet" : { |
30027 | "default" : 0, | |
30028 | "description" : "Be quiet.", | |
30029 | "optional" : 1, | |
30030 | "type" : "boolean", | |
30031 | "typetext" : "<boolean>" | |
30032 | }, | |
30033 | "remove" : { | |
30034 | "default" : 1, | |
30035 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", | |
30036 | "optional" : 1, | |
30037 | "type" : "boolean", | |
30038 | "typetext" : "<boolean>" | |
30039 | }, | |
30040 | "script" : { | |
30041 | "description" : "Use specified hook script.", | |
30042 | "optional" : 1, | |
30043 | "type" : "string", | |
30044 | "typetext" : "<string>" | |
30045 | }, | |
30046 | "size" : { | |
30047 | "default" : 1024, | |
30048 | "description" : "Unused, will be removed in a future release.", | |
30049 | "minimum" : 500, | |
30050 | "optional" : 1, | |
30051 | "type" : "integer", | |
30052 | "typetext" : "<integer> (500 - N)" | |
30053 | }, | |
30054 | "stdexcludes" : { | |
30055 | "default" : 1, | |
30056 | "description" : "Exclude temporary files and logs.", | |
30057 | "optional" : 1, | |
30058 | "type" : "boolean", | |
30059 | "typetext" : "<boolean>" | |
30060 | }, | |
30061 | "stdout" : { | |
30062 | "description" : "Write tar to stdout, not to a file.", | |
30063 | "optional" : 1, | |
30064 | "type" : "boolean", | |
30065 | "typetext" : "<boolean>" | |
30066 | }, | |
30067 | "stop" : { | |
30068 | "default" : 0, | |
1e3f8156 | 30069 | "description" : "Stop running backup jobs on this host.", |
4d47f125 TL |
30070 | "optional" : 1, |
30071 | "type" : "boolean", | |
30072 | "typetext" : "<boolean>" | |
30073 | }, | |
30074 | "stopwait" : { | |
30075 | "default" : 10, | |
30076 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
30077 | "minimum" : 0, | |
30078 | "optional" : 1, | |
30079 | "type" : "integer", | |
30080 | "typetext" : "<integer> (0 - N)" | |
30081 | }, | |
30082 | "storage" : { | |
30083 | "description" : "Store resulting file to this storage.", | |
30084 | "format" : "pve-storage-id", | |
30085 | "optional" : 1, | |
30086 | "type" : "string", | |
30087 | "typetext" : "<string>" | |
30088 | }, | |
30089 | "tmpdir" : { | |
30090 | "description" : "Store temporary files to specified directory.", | |
30091 | "optional" : 1, | |
30092 | "type" : "string", | |
30093 | "typetext" : "<string>" | |
30094 | }, | |
30095 | "vmid" : { | |
30096 | "description" : "The ID of the guest system you want to backup.", | |
30097 | "format" : "pve-vmid-list", | |
30098 | "optional" : 1, | |
30099 | "type" : "string", | |
30100 | "typetext" : "<string>" | |
c5aa7e14 TL |
30101 | }, |
30102 | "zstd" : { | |
30103 | "default" : 1, | |
30104 | "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", | |
30105 | "optional" : 1, | |
30106 | "type" : "integer", | |
30107 | "typetext" : "<integer>" | |
4d47f125 TL |
30108 | } |
30109 | } | |
30110 | }, | |
30111 | "permissions" : { | |
30112 | "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.", | |
30113 | "user" : "all" | |
30114 | }, | |
30115 | "protected" : 1, | |
30116 | "proxyto" : "node", | |
30117 | "returns" : { | |
30118 | "type" : "string" | |
30119 | } | |
30120 | } | |
30121 | }, | |
30122 | "leaf" : 0, | |
30123 | "path" : "/nodes/{node}/vzdump", | |
30124 | "text" : "vzdump" | |
30125 | }, | |
30126 | { | |
30127 | "children" : [ | |
2489d6df WB |
30128 | { |
30129 | "children" : [ | |
30130 | { | |
30131 | "info" : { | |
4d47f125 | 30132 | "GET" : { |
e9cd3bd4 | 30133 | "allowtoken" : 1, |
4d47f125 TL |
30134 | "description" : "Read service properties", |
30135 | "method" : "GET", | |
30136 | "name" : "service_state", | |
2489d6df WB |
30137 | "parameters" : { |
30138 | "additionalProperties" : 0, | |
30139 | "properties" : { | |
2489d6df WB |
30140 | "node" : { |
30141 | "description" : "The cluster node name.", | |
30142 | "format" : "pve-node", | |
30143 | "type" : "string", | |
30144 | "typetext" : "<string>" | |
4d47f125 TL |
30145 | }, |
30146 | "service" : { | |
30147 | "description" : "Service ID", | |
30148 | "enum" : [ | |
30149 | "pveproxy", | |
30150 | "pvedaemon", | |
30151 | "spiceproxy", | |
30152 | "pvestatd", | |
30153 | "pve-cluster", | |
30154 | "corosync", | |
30155 | "pve-firewall", | |
30156 | "pvefw-logger", | |
30157 | "pve-ha-crm", | |
30158 | "pve-ha-lrm", | |
30159 | "sshd", | |
30160 | "syslog", | |
30161 | "cron", | |
30162 | "postfix", | |
30163 | "ksmtuned", | |
30164 | "systemd-timesyncd" | |
30165 | ], | |
30166 | "type" : "string" | |
2489d6df WB |
30167 | } |
30168 | } | |
30169 | }, | |
30170 | "permissions" : { | |
30171 | "check" : [ | |
30172 | "perm", | |
4d47f125 | 30173 | "/nodes/{node}", |
2489d6df | 30174 | [ |
4d47f125 | 30175 | "Sys.Audit" |
2489d6df WB |
30176 | ] |
30177 | ] | |
30178 | }, | |
30179 | "protected" : 1, | |
30180 | "proxyto" : "node", | |
30181 | "returns" : { | |
4d47f125 | 30182 | "type" : "object" |
2489d6df WB |
30183 | } |
30184 | } | |
30185 | }, | |
30186 | "leaf" : 1, | |
4d47f125 TL |
30187 | "path" : "/nodes/{node}/services/{service}/state", |
30188 | "text" : "state" | |
30189 | }, | |
30190 | { | |
30191 | "info" : { | |
30192 | "POST" : { | |
e9cd3bd4 | 30193 | "allowtoken" : 1, |
4d47f125 TL |
30194 | "description" : "Start service.", |
30195 | "method" : "POST", | |
30196 | "name" : "service_start", | |
30197 | "parameters" : { | |
30198 | "additionalProperties" : 0, | |
30199 | "properties" : { | |
30200 | "node" : { | |
30201 | "description" : "The cluster node name.", | |
30202 | "format" : "pve-node", | |
30203 | "type" : "string", | |
30204 | "typetext" : "<string>" | |
30205 | }, | |
30206 | "service" : { | |
30207 | "description" : "Service ID", | |
30208 | "enum" : [ | |
30209 | "pveproxy", | |
30210 | "pvedaemon", | |
30211 | "spiceproxy", | |
30212 | "pvestatd", | |
30213 | "pve-cluster", | |
30214 | "corosync", | |
30215 | "pve-firewall", | |
30216 | "pvefw-logger", | |
30217 | "pve-ha-crm", | |
30218 | "pve-ha-lrm", | |
30219 | "sshd", | |
30220 | "syslog", | |
30221 | "cron", | |
30222 | "postfix", | |
30223 | "ksmtuned", | |
30224 | "systemd-timesyncd" | |
30225 | ], | |
30226 | "type" : "string" | |
30227 | } | |
30228 | } | |
7aacca6f | 30229 | }, |
4d47f125 TL |
30230 | "permissions" : { |
30231 | "check" : [ | |
30232 | "perm", | |
30233 | "/nodes/{node}", | |
30234 | [ | |
30235 | "Sys.Modify" | |
30236 | ] | |
30237 | ] | |
7aacca6f | 30238 | }, |
4d47f125 TL |
30239 | "protected" : 1, |
30240 | "proxyto" : "node", | |
30241 | "returns" : { | |
30242 | "type" : "string" | |
30243 | } | |
30244 | } | |
56122987 | 30245 | }, |
4d47f125 TL |
30246 | "leaf" : 1, |
30247 | "path" : "/nodes/{node}/services/{service}/start", | |
30248 | "text" : "start" | |
30249 | }, | |
44660702 DM |
30250 | { |
30251 | "info" : { | |
4d47f125 | 30252 | "POST" : { |
e9cd3bd4 | 30253 | "allowtoken" : 1, |
4d47f125 TL |
30254 | "description" : "Stop service.", |
30255 | "method" : "POST", | |
30256 | "name" : "service_stop", | |
44660702 DM |
30257 | "parameters" : { |
30258 | "additionalProperties" : 0, | |
30259 | "properties" : { | |
44660702 DM |
30260 | "node" : { |
30261 | "description" : "The cluster node name.", | |
30262 | "format" : "pve-node", | |
013dc89f DM |
30263 | "type" : "string", |
30264 | "typetext" : "<string>" | |
2489d6df | 30265 | }, |
4d47f125 TL |
30266 | "service" : { |
30267 | "description" : "Service ID", | |
30268 | "enum" : [ | |
30269 | "pveproxy", | |
30270 | "pvedaemon", | |
30271 | "spiceproxy", | |
30272 | "pvestatd", | |
30273 | "pve-cluster", | |
30274 | "corosync", | |
30275 | "pve-firewall", | |
30276 | "pvefw-logger", | |
30277 | "pve-ha-crm", | |
30278 | "pve-ha-lrm", | |
30279 | "sshd", | |
30280 | "syslog", | |
30281 | "cron", | |
30282 | "postfix", | |
30283 | "ksmtuned", | |
30284 | "systemd-timesyncd" | |
30285 | ], | |
30286 | "type" : "string" | |
44660702 DM |
30287 | } |
30288 | } | |
30289 | }, | |
30290 | "permissions" : { | |
30291 | "check" : [ | |
30292 | "perm", | |
4d47f125 | 30293 | "/nodes/{node}", |
44660702 DM |
30294 | [ |
30295 | "Sys.Modify" | |
30296 | ] | |
30297 | ] | |
30298 | }, | |
30299 | "protected" : 1, | |
30300 | "proxyto" : "node", | |
30301 | "returns" : { | |
2489d6df | 30302 | "type" : "string" |
44660702 DM |
30303 | } |
30304 | } | |
30305 | }, | |
30306 | "leaf" : 1, | |
4d47f125 TL |
30307 | "path" : "/nodes/{node}/services/{service}/stop", |
30308 | "text" : "stop" | |
7aacca6f | 30309 | }, |
32d876b5 DM |
30310 | { |
30311 | "info" : { | |
4d47f125 | 30312 | "POST" : { |
e9cd3bd4 | 30313 | "allowtoken" : 1, |
4d47f125 TL |
30314 | "description" : "Restart service.", |
30315 | "method" : "POST", | |
30316 | "name" : "service_restart", | |
32d876b5 DM |
30317 | "parameters" : { |
30318 | "additionalProperties" : 0, | |
30319 | "properties" : { | |
4d47f125 TL |
30320 | "node" : { |
30321 | "description" : "The cluster node name.", | |
30322 | "format" : "pve-node", | |
30323 | "type" : "string", | |
30324 | "typetext" : "<string>" | |
30325 | }, | |
30326 | "service" : { | |
30327 | "description" : "Service ID", | |
32d876b5 | 30328 | "enum" : [ |
4d47f125 TL |
30329 | "pveproxy", |
30330 | "pvedaemon", | |
30331 | "spiceproxy", | |
30332 | "pvestatd", | |
30333 | "pve-cluster", | |
30334 | "corosync", | |
30335 | "pve-firewall", | |
30336 | "pvefw-logger", | |
30337 | "pve-ha-crm", | |
30338 | "pve-ha-lrm", | |
30339 | "sshd", | |
30340 | "syslog", | |
30341 | "cron", | |
30342 | "postfix", | |
30343 | "ksmtuned", | |
30344 | "systemd-timesyncd" | |
32d876b5 DM |
30345 | ], |
30346 | "type" : "string" | |
32d876b5 DM |
30347 | } |
30348 | } | |
30349 | }, | |
30350 | "permissions" : { | |
30351 | "check" : [ | |
30352 | "perm", | |
4d47f125 | 30353 | "/nodes/{node}", |
32d876b5 DM |
30354 | [ |
30355 | "Sys.Modify" | |
30356 | ] | |
30357 | ] | |
30358 | }, | |
30359 | "protected" : 1, | |
30360 | "proxyto" : "node", | |
30361 | "returns" : { | |
4d47f125 | 30362 | "type" : "string" |
32d876b5 | 30363 | } |
4d47f125 TL |
30364 | } |
30365 | }, | |
30366 | "leaf" : 1, | |
30367 | "path" : "/nodes/{node}/services/{service}/restart", | |
30368 | "text" : "restart" | |
30369 | }, | |
30370 | { | |
30371 | "info" : { | |
32d876b5 | 30372 | "POST" : { |
e9cd3bd4 | 30373 | "allowtoken" : 1, |
4d47f125 | 30374 | "description" : "Reload service.", |
32d876b5 | 30375 | "method" : "POST", |
4d47f125 | 30376 | "name" : "service_reload", |
32d876b5 DM |
30377 | "parameters" : { |
30378 | "additionalProperties" : 0, | |
30379 | "properties" : { | |
32d876b5 DM |
30380 | "node" : { |
30381 | "description" : "The cluster node name.", | |
30382 | "format" : "pve-node", | |
30383 | "type" : "string", | |
30384 | "typetext" : "<string>" | |
4d47f125 TL |
30385 | }, |
30386 | "service" : { | |
30387 | "description" : "Service ID", | |
30388 | "enum" : [ | |
30389 | "pveproxy", | |
30390 | "pvedaemon", | |
30391 | "spiceproxy", | |
30392 | "pvestatd", | |
30393 | "pve-cluster", | |
30394 | "corosync", | |
30395 | "pve-firewall", | |
30396 | "pvefw-logger", | |
30397 | "pve-ha-crm", | |
30398 | "pve-ha-lrm", | |
30399 | "sshd", | |
30400 | "syslog", | |
30401 | "cron", | |
30402 | "postfix", | |
30403 | "ksmtuned", | |
30404 | "systemd-timesyncd" | |
30405 | ], | |
30406 | "type" : "string" | |
32d876b5 DM |
30407 | } |
30408 | } | |
30409 | }, | |
30410 | "permissions" : { | |
30411 | "check" : [ | |
30412 | "perm", | |
4d47f125 | 30413 | "/nodes/{node}", |
32d876b5 DM |
30414 | [ |
30415 | "Sys.Modify" | |
30416 | ] | |
30417 | ] | |
30418 | }, | |
30419 | "protected" : 1, | |
30420 | "proxyto" : "node", | |
30421 | "returns" : { | |
4d47f125 | 30422 | "type" : "string" |
32d876b5 DM |
30423 | } |
30424 | } | |
30425 | }, | |
30426 | "leaf" : 1, | |
4d47f125 TL |
30427 | "path" : "/nodes/{node}/services/{service}/reload", |
30428 | "text" : "reload" | |
32d876b5 DM |
30429 | } |
30430 | ], | |
30431 | "info" : { | |
30432 | "GET" : { | |
e9cd3bd4 | 30433 | "allowtoken" : 1, |
4d47f125 | 30434 | "description" : "Directory index", |
44660702 | 30435 | "method" : "GET", |
4d47f125 | 30436 | "name" : "srvcmdidx", |
44660702 DM |
30437 | "parameters" : { |
30438 | "additionalProperties" : 0, | |
30439 | "properties" : { | |
44660702 DM |
30440 | "node" : { |
30441 | "description" : "The cluster node name.", | |
30442 | "format" : "pve-node", | |
013dc89f DM |
30443 | "type" : "string", |
30444 | "typetext" : "<string>" | |
44660702 | 30445 | }, |
4d47f125 TL |
30446 | "service" : { |
30447 | "description" : "Service ID", | |
30448 | "enum" : [ | |
30449 | "pveproxy", | |
30450 | "pvedaemon", | |
30451 | "spiceproxy", | |
30452 | "pvestatd", | |
30453 | "pve-cluster", | |
30454 | "corosync", | |
30455 | "pve-firewall", | |
30456 | "pvefw-logger", | |
30457 | "pve-ha-crm", | |
30458 | "pve-ha-lrm", | |
30459 | "sshd", | |
30460 | "syslog", | |
30461 | "cron", | |
30462 | "postfix", | |
30463 | "ksmtuned", | |
30464 | "systemd-timesyncd" | |
30465 | ], | |
30466 | "type" : "string" | |
44660702 | 30467 | } |
7aacca6f | 30468 | } |
56122987 | 30469 | }, |
56122987 DM |
30470 | "permissions" : { |
30471 | "check" : [ | |
30472 | "perm", | |
7aacca6f | 30473 | "/nodes/{node}", |
56122987 | 30474 | [ |
4d47f125 | 30475 | "Sys.Audit" |
56122987 DM |
30476 | ] |
30477 | ] | |
30478 | }, | |
44660702 DM |
30479 | "returns" : { |
30480 | "items" : { | |
30481 | "properties" : { | |
4d47f125 | 30482 | "subdir" : { |
44660702 DM |
30483 | "type" : "string" |
30484 | } | |
56122987 | 30485 | }, |
44660702 | 30486 | "type" : "object" |
56122987 | 30487 | }, |
2489d6df WB |
30488 | "links" : [ |
30489 | { | |
4d47f125 | 30490 | "href" : "{subdir}", |
2489d6df WB |
30491 | "rel" : "child" |
30492 | } | |
30493 | ], | |
30494 | "type" : "array" | |
30495 | } | |
30496 | } | |
4d47f125 TL |
30497 | }, |
30498 | "leaf" : 0, | |
30499 | "path" : "/nodes/{node}/services/{service}", | |
30500 | "text" : "{service}" | |
7aacca6f DM |
30501 | } |
30502 | ], | |
44660702 DM |
30503 | "info" : { |
30504 | "GET" : { | |
e9cd3bd4 | 30505 | "allowtoken" : 1, |
4d47f125 | 30506 | "description" : "Service list.", |
44660702 DM |
30507 | "method" : "GET", |
30508 | "name" : "index", | |
30509 | "parameters" : { | |
30510 | "additionalProperties" : 0, | |
30511 | "properties" : { | |
30512 | "node" : { | |
30513 | "description" : "The cluster node name.", | |
30514 | "format" : "pve-node", | |
013dc89f DM |
30515 | "type" : "string", |
30516 | "typetext" : "<string>" | |
44660702 DM |
30517 | } |
30518 | } | |
30519 | }, | |
30520 | "permissions" : { | |
30521 | "check" : [ | |
30522 | "perm", | |
4d47f125 | 30523 | "/nodes/{node}", |
44660702 | 30524 | [ |
4d47f125 TL |
30525 | "Sys.Audit" |
30526 | ] | |
44660702 DM |
30527 | ] |
30528 | }, | |
4d47f125 TL |
30529 | "protected" : 1, |
30530 | "proxyto" : "node", | |
44660702 DM |
30531 | "returns" : { |
30532 | "items" : { | |
30533 | "properties" : {}, | |
30534 | "type" : "object" | |
30535 | }, | |
30536 | "links" : [ | |
30537 | { | |
4d47f125 | 30538 | "href" : "{service}", |
44660702 DM |
30539 | "rel" : "child" |
30540 | } | |
30541 | ], | |
30542 | "type" : "array" | |
30543 | } | |
30544 | } | |
30545 | }, | |
7aacca6f | 30546 | "leaf" : 0, |
4d47f125 TL |
30547 | "path" : "/nodes/{node}/services", |
30548 | "text" : "services" | |
7aacca6f DM |
30549 | }, |
30550 | { | |
7aacca6f | 30551 | "info" : { |
4d47f125 | 30552 | "GET" : { |
e9cd3bd4 | 30553 | "allowtoken" : 1, |
4d47f125 TL |
30554 | "description" : "Read subscription info.", |
30555 | "method" : "GET", | |
30556 | "name" : "get", | |
7aacca6f | 30557 | "parameters" : { |
44660702 | 30558 | "additionalProperties" : 0, |
7aacca6f | 30559 | "properties" : { |
44660702 | 30560 | "node" : { |
4d47f125 | 30561 | "description" : "The cluster node name.", |
44660702 | 30562 | "format" : "pve-node", |
013dc89f DM |
30563 | "type" : "string", |
30564 | "typetext" : "<string>" | |
4d47f125 TL |
30565 | } |
30566 | } | |
30567 | }, | |
30568 | "permissions" : { | |
30569 | "user" : "all" | |
30570 | }, | |
30571 | "proxyto" : "node", | |
30572 | "returns" : { | |
30573 | "type" : "object" | |
30574 | } | |
30575 | }, | |
30576 | "POST" : { | |
e9cd3bd4 | 30577 | "allowtoken" : 1, |
4d47f125 TL |
30578 | "description" : "Update subscription info.", |
30579 | "method" : "POST", | |
30580 | "name" : "update", | |
30581 | "parameters" : { | |
30582 | "additionalProperties" : 0, | |
30583 | "properties" : { | |
30584 | "force" : { | |
30585 | "default" : 0, | |
30586 | "description" : "Always connect to server, even if we have up to date info inside local cache.", | |
7aacca6f | 30587 | "optional" : 1, |
4d47f125 TL |
30588 | "type" : "boolean", |
30589 | "typetext" : "<boolean>" | |
44660702 | 30590 | }, |
4d47f125 TL |
30591 | "node" : { |
30592 | "description" : "The cluster node name.", | |
30593 | "format" : "pve-node", | |
013dc89f DM |
30594 | "type" : "string", |
30595 | "typetext" : "<string>" | |
4d47f125 TL |
30596 | } |
30597 | } | |
30598 | }, | |
30599 | "permissions" : { | |
30600 | "check" : [ | |
30601 | "perm", | |
30602 | "/nodes/{node}", | |
30603 | [ | |
30604 | "Sys.Modify" | |
30605 | ] | |
30606 | ] | |
30607 | }, | |
30608 | "protected" : 1, | |
30609 | "proxyto" : "node", | |
30610 | "returns" : { | |
30611 | "type" : "null" | |
30612 | } | |
30613 | }, | |
30614 | "PUT" : { | |
e9cd3bd4 | 30615 | "allowtoken" : 1, |
4d47f125 TL |
30616 | "description" : "Set subscription key.", |
30617 | "method" : "PUT", | |
30618 | "name" : "set", | |
30619 | "parameters" : { | |
30620 | "additionalProperties" : 0, | |
30621 | "properties" : { | |
30622 | "key" : { | |
30623 | "description" : "Proxmox VE subscription key", | |
30624 | "maxLength" : 32, | |
5f26e15b | 30625 | "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}", |
4d47f125 | 30626 | "type" : "string" |
7aacca6f | 30627 | }, |
4d47f125 TL |
30628 | "node" : { |
30629 | "description" : "The cluster node name.", | |
30630 | "format" : "pve-node", | |
013dc89f DM |
30631 | "type" : "string", |
30632 | "typetext" : "<string>" | |
7aacca6f | 30633 | } |
7aacca6f DM |
30634 | } |
30635 | }, | |
7aacca6f | 30636 | "permissions" : { |
4d47f125 TL |
30637 | "check" : [ |
30638 | "perm", | |
30639 | "/nodes/{node}", | |
30640 | [ | |
30641 | "Sys.Modify" | |
30642 | ] | |
30643 | ] | |
7aacca6f | 30644 | }, |
44660702 | 30645 | "protected" : 1, |
7aacca6f | 30646 | "proxyto" : "node", |
7aacca6f | 30647 | "returns" : { |
4d47f125 | 30648 | "type" : "null" |
7aacca6f DM |
30649 | } |
30650 | } | |
30651 | }, | |
4d47f125 TL |
30652 | "leaf" : 1, |
30653 | "path" : "/nodes/{node}/subscription", | |
30654 | "text" : "subscription" | |
44660702 DM |
30655 | }, |
30656 | { | |
7aacca6f DM |
30657 | "children" : [ |
30658 | { | |
4d47f125 TL |
30659 | "info" : { |
30660 | "DELETE" : { | |
e9cd3bd4 | 30661 | "allowtoken" : 1, |
4d47f125 TL |
30662 | "description" : "Delete network device configuration", |
30663 | "method" : "DELETE", | |
30664 | "name" : "delete_network", | |
30665 | "parameters" : { | |
30666 | "additionalProperties" : 0, | |
30667 | "properties" : { | |
30668 | "iface" : { | |
30669 | "description" : "Network interface name.", | |
30670 | "format" : "pve-iface", | |
30671 | "maxLength" : 20, | |
30672 | "minLength" : 2, | |
30673 | "type" : "string", | |
30674 | "typetext" : "<string>" | |
7aacca6f | 30675 | }, |
4d47f125 TL |
30676 | "node" : { |
30677 | "description" : "The cluster node name.", | |
30678 | "format" : "pve-node", | |
30679 | "type" : "string", | |
30680 | "typetext" : "<string>" | |
44660702 DM |
30681 | } |
30682 | } | |
30683 | }, | |
4d47f125 TL |
30684 | "permissions" : { |
30685 | "check" : [ | |
30686 | "perm", | |
30687 | "/nodes/{node}", | |
30688 | [ | |
30689 | "Sys.Modify" | |
30690 | ] | |
30691 | ] | |
30692 | }, | |
30693 | "protected" : 1, | |
30694 | "proxyto" : "node", | |
30695 | "returns" : { | |
30696 | "type" : "null" | |
30697 | } | |
30698 | }, | |
30699 | "GET" : { | |
e9cd3bd4 | 30700 | "allowtoken" : 1, |
4d47f125 TL |
30701 | "description" : "Read network device configuration", |
30702 | "method" : "GET", | |
30703 | "name" : "network_config", | |
30704 | "parameters" : { | |
30705 | "additionalProperties" : 0, | |
30706 | "properties" : { | |
30707 | "iface" : { | |
30708 | "description" : "Network interface name.", | |
30709 | "format" : "pve-iface", | |
30710 | "maxLength" : 20, | |
30711 | "minLength" : 2, | |
30712 | "type" : "string", | |
30713 | "typetext" : "<string>" | |
56122987 | 30714 | }, |
4d47f125 TL |
30715 | "node" : { |
30716 | "description" : "The cluster node name.", | |
30717 | "format" : "pve-node", | |
30718 | "type" : "string", | |
30719 | "typetext" : "<string>" | |
44660702 DM |
30720 | } |
30721 | } | |
30722 | }, | |
4d47f125 TL |
30723 | "permissions" : { |
30724 | "check" : [ | |
30725 | "perm", | |
30726 | "/nodes/{node}", | |
30727 | [ | |
30728 | "Sys.Audit" | |
30729 | ] | |
30730 | ] | |
30731 | }, | |
30732 | "proxyto" : "node", | |
30733 | "returns" : { | |
30734 | "properties" : { | |
30735 | "method" : { | |
30736 | "type" : "string" | |
44660702 | 30737 | }, |
4d47f125 | 30738 | "type" : { |
44660702 DM |
30739 | "type" : "string" |
30740 | } | |
4d47f125 TL |
30741 | }, |
30742 | "type" : "object" | |
30743 | } | |
56122987 | 30744 | }, |
4d47f125 | 30745 | "PUT" : { |
e9cd3bd4 | 30746 | "allowtoken" : 1, |
4d47f125 TL |
30747 | "description" : "Update network device configuration", |
30748 | "method" : "PUT", | |
30749 | "name" : "update_network", | |
30750 | "parameters" : { | |
30751 | "additionalProperties" : 0, | |
30752 | "properties" : { | |
30753 | "address" : { | |
30754 | "description" : "IP address.", | |
30755 | "format" : "ipv4", | |
30756 | "optional" : 1, | |
30757 | "requires" : "netmask", | |
30758 | "type" : "string", | |
30759 | "typetext" : "<string>" | |
30760 | }, | |
30761 | "address6" : { | |
30762 | "description" : "IP address.", | |
30763 | "format" : "ipv6", | |
30764 | "optional" : 1, | |
30765 | "requires" : "netmask6", | |
30766 | "type" : "string", | |
30767 | "typetext" : "<string>" | |
30768 | }, | |
30769 | "autostart" : { | |
30770 | "description" : "Automatically start interface on boot.", | |
30771 | "optional" : 1, | |
30772 | "type" : "boolean", | |
30773 | "typetext" : "<boolean>" | |
30774 | }, | |
e9cd3bd4 TL |
30775 | "bond-primary" : { |
30776 | "description" : "Specify the primary interface for active-backup bond.", | |
30777 | "format" : "pve-iface", | |
30778 | "optional" : 1, | |
30779 | "type" : "string", | |
30780 | "typetext" : "<string>" | |
30781 | }, | |
4d47f125 TL |
30782 | "bond_mode" : { |
30783 | "description" : "Bonding mode.", | |
30784 | "enum" : [ | |
30785 | "balance-rr", | |
30786 | "active-backup", | |
30787 | "balance-xor", | |
30788 | "broadcast", | |
30789 | "802.3ad", | |
30790 | "balance-tlb", | |
30791 | "balance-alb", | |
30792 | "balance-slb", | |
30793 | "lacp-balance-slb", | |
30794 | "lacp-balance-tcp" | |
30795 | ], | |
30796 | "optional" : 1, | |
30797 | "type" : "string" | |
30798 | }, | |
30799 | "bond_xmit_hash_policy" : { | |
30800 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
30801 | "enum" : [ | |
30802 | "layer2", | |
30803 | "layer2+3", | |
30804 | "layer3+4" | |
30805 | ], | |
30806 | "optional" : 1, | |
30807 | "type" : "string" | |
30808 | }, | |
30809 | "bridge_ports" : { | |
1e3f8156 | 30810 | "description" : "Specify the interfaces you want to add to your bridge.", |
4d47f125 TL |
30811 | "format" : "pve-iface-list", |
30812 | "optional" : 1, | |
30813 | "type" : "string", | |
30814 | "typetext" : "<string>" | |
30815 | }, | |
30816 | "bridge_vlan_aware" : { | |
30817 | "description" : "Enable bridge vlan support.", | |
30818 | "optional" : 1, | |
30819 | "type" : "boolean", | |
30820 | "typetext" : "<boolean>" | |
30821 | }, | |
bb4c8cf8 TL |
30822 | "cidr" : { |
30823 | "description" : "IPv4 CIDR.", | |
30824 | "format" : "CIDRv4", | |
30825 | "optional" : 1, | |
30826 | "type" : "string", | |
30827 | "typetext" : "<string>" | |
30828 | }, | |
30829 | "cidr6" : { | |
30830 | "description" : "IPv6 CIDR.", | |
30831 | "format" : "CIDRv6", | |
30832 | "optional" : 1, | |
30833 | "type" : "string", | |
30834 | "typetext" : "<string>" | |
30835 | }, | |
4d47f125 TL |
30836 | "comments" : { |
30837 | "description" : "Comments", | |
30838 | "optional" : 1, | |
30839 | "type" : "string", | |
30840 | "typetext" : "<string>" | |
30841 | }, | |
30842 | "comments6" : { | |
30843 | "description" : "Comments", | |
30844 | "optional" : 1, | |
30845 | "type" : "string", | |
30846 | "typetext" : "<string>" | |
30847 | }, | |
30848 | "delete" : { | |
30849 | "description" : "A list of settings you want to delete.", | |
30850 | "format" : "pve-configid-list", | |
30851 | "optional" : 1, | |
30852 | "type" : "string", | |
30853 | "typetext" : "<string>" | |
30854 | }, | |
30855 | "gateway" : { | |
30856 | "description" : "Default gateway address.", | |
30857 | "format" : "ipv4", | |
30858 | "optional" : 1, | |
30859 | "type" : "string", | |
30860 | "typetext" : "<string>" | |
30861 | }, | |
30862 | "gateway6" : { | |
30863 | "description" : "Default ipv6 gateway address.", | |
30864 | "format" : "ipv6", | |
30865 | "optional" : 1, | |
30866 | "type" : "string", | |
30867 | "typetext" : "<string>" | |
30868 | }, | |
30869 | "iface" : { | |
30870 | "description" : "Network interface name.", | |
30871 | "format" : "pve-iface", | |
30872 | "maxLength" : 20, | |
30873 | "minLength" : 2, | |
30874 | "type" : "string", | |
30875 | "typetext" : "<string>" | |
56122987 | 30876 | }, |
e9cd3bd4 TL |
30877 | "mtu" : { |
30878 | "description" : "MTU.", | |
30879 | "maximum" : 65520, | |
30880 | "minimum" : 1280, | |
30881 | "optional" : 1, | |
30882 | "type" : "integer", | |
30883 | "typetext" : "<integer> (1280 - 65520)" | |
30884 | }, | |
4d47f125 TL |
30885 | "netmask" : { |
30886 | "description" : "Network mask.", | |
30887 | "format" : "ipv4mask", | |
30888 | "optional" : 1, | |
30889 | "requires" : "address", | |
30890 | "type" : "string", | |
30891 | "typetext" : "<string>" | |
30892 | }, | |
30893 | "netmask6" : { | |
30894 | "description" : "Network mask.", | |
30895 | "maximum" : 128, | |
30896 | "minimum" : 0, | |
30897 | "optional" : 1, | |
30898 | "requires" : "address6", | |
30899 | "type" : "integer", | |
30900 | "typetext" : "<integer> (0 - 128)" | |
56122987 | 30901 | }, |
44660702 DM |
30902 | "node" : { |
30903 | "description" : "The cluster node name.", | |
30904 | "format" : "pve-node", | |
013dc89f DM |
30905 | "type" : "string", |
30906 | "typetext" : "<string>" | |
44660702 | 30907 | }, |
4d47f125 TL |
30908 | "ovs_bonds" : { |
30909 | "description" : "Specify the interfaces used by the bonding device.", | |
30910 | "format" : "pve-iface-list", | |
30911 | "optional" : 1, | |
30912 | "type" : "string", | |
30913 | "typetext" : "<string>" | |
30914 | }, | |
30915 | "ovs_bridge" : { | |
30916 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
30917 | "format" : "pve-iface", | |
30918 | "optional" : 1, | |
30919 | "type" : "string", | |
30920 | "typetext" : "<string>" | |
30921 | }, | |
30922 | "ovs_options" : { | |
30923 | "description" : "OVS interface options.", | |
30924 | "maxLength" : 1024, | |
30925 | "optional" : 1, | |
30926 | "type" : "string", | |
30927 | "typetext" : "<string>" | |
30928 | }, | |
30929 | "ovs_ports" : { | |
1e3f8156 | 30930 | "description" : "Specify the interfaces you want to add to your bridge.", |
4d47f125 TL |
30931 | "format" : "pve-iface-list", |
30932 | "optional" : 1, | |
30933 | "type" : "string", | |
30934 | "typetext" : "<string>" | |
30935 | }, | |
30936 | "ovs_tag" : { | |
30937 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
30938 | "maximum" : 4094, | |
30939 | "minimum" : 1, | |
30940 | "optional" : 1, | |
30941 | "type" : "integer", | |
30942 | "typetext" : "<integer> (1 - 4094)" | |
30943 | }, | |
30944 | "slaves" : { | |
30945 | "description" : "Specify the interfaces used by the bonding device.", | |
30946 | "format" : "pve-iface-list", | |
30947 | "optional" : 1, | |
30948 | "type" : "string", | |
30949 | "typetext" : "<string>" | |
30950 | }, | |
30951 | "type" : { | |
30952 | "description" : "Network interface type", | |
44660702 | 30953 | "enum" : [ |
4d47f125 TL |
30954 | "bridge", |
30955 | "bond", | |
30956 | "eth", | |
30957 | "alias", | |
30958 | "vlan", | |
30959 | "OVSBridge", | |
30960 | "OVSBond", | |
30961 | "OVSPort", | |
30962 | "OVSIntPort", | |
30963 | "unknown" | |
44660702 DM |
30964 | ], |
30965 | "type" : "string" | |
e9cd3bd4 TL |
30966 | }, |
30967 | "vlan-id" : { | |
30968 | "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).", | |
30969 | "maximum" : 4094, | |
30970 | "minimum" : 1, | |
30971 | "optional" : 1, | |
30972 | "type" : "integer", | |
30973 | "typetext" : "<integer> (1 - 4094)" | |
30974 | }, | |
30975 | "vlan-raw-device" : { | |
30976 | "description" : "Specify the raw interface for the vlan interface.", | |
30977 | "format" : "pve-iface", | |
30978 | "optional" : 1, | |
30979 | "type" : "string", | |
30980 | "typetext" : "<string>" | |
44660702 DM |
30981 | } |
30982 | } | |
30983 | }, | |
30984 | "permissions" : { | |
30985 | "check" : [ | |
30986 | "perm", | |
30987 | "/nodes/{node}", | |
30988 | [ | |
4d47f125 | 30989 | "Sys.Modify" |
44660702 DM |
30990 | ] |
30991 | ] | |
30992 | }, | |
4d47f125 TL |
30993 | "protected" : 1, |
30994 | "proxyto" : "node", | |
44660702 | 30995 | "returns" : { |
4d47f125 | 30996 | "type" : "null" |
44660702 DM |
30997 | } |
30998 | } | |
30999 | }, | |
4d47f125 TL |
31000 | "leaf" : 1, |
31001 | "path" : "/nodes/{node}/network/{iface}", | |
31002 | "text" : "{iface}" | |
44660702 DM |
31003 | } |
31004 | ], | |
31005 | "info" : { | |
4d47f125 | 31006 | "DELETE" : { |
e9cd3bd4 | 31007 | "allowtoken" : 1, |
4d47f125 TL |
31008 | "description" : "Revert network configuration changes.", |
31009 | "method" : "DELETE", | |
31010 | "name" : "revert_network_changes", | |
44660702 DM |
31011 | "parameters" : { |
31012 | "additionalProperties" : 0, | |
31013 | "properties" : { | |
31014 | "node" : { | |
31015 | "description" : "The cluster node name.", | |
31016 | "format" : "pve-node", | |
013dc89f DM |
31017 | "type" : "string", |
31018 | "typetext" : "<string>" | |
44660702 DM |
31019 | } |
31020 | } | |
31021 | }, | |
31022 | "permissions" : { | |
31023 | "check" : [ | |
31024 | "perm", | |
31025 | "/nodes/{node}", | |
31026 | [ | |
4d47f125 | 31027 | "Sys.Modify" |
44660702 DM |
31028 | ] |
31029 | ] | |
31030 | }, | |
31031 | "protected" : 1, | |
31032 | "proxyto" : "node", | |
4d47f125 TL |
31033 | "returns" : { |
31034 | "type" : "null" | |
31035 | } | |
31036 | }, | |
31037 | "GET" : { | |
e9cd3bd4 | 31038 | "allowtoken" : 1, |
4d47f125 TL |
31039 | "description" : "List available networks", |
31040 | "method" : "GET", | |
31041 | "name" : "index", | |
31042 | "parameters" : { | |
31043 | "additionalProperties" : 0, | |
31044 | "properties" : { | |
31045 | "node" : { | |
31046 | "description" : "The cluster node name.", | |
31047 | "format" : "pve-node", | |
31048 | "type" : "string", | |
31049 | "typetext" : "<string>" | |
31050 | }, | |
31051 | "type" : { | |
31052 | "description" : "Only list specific interface types.", | |
31053 | "enum" : [ | |
31054 | "bridge", | |
31055 | "bond", | |
31056 | "eth", | |
31057 | "alias", | |
31058 | "vlan", | |
31059 | "OVSBridge", | |
31060 | "OVSBond", | |
31061 | "OVSPort", | |
31062 | "OVSIntPort", | |
31063 | "any_bridge" | |
31064 | ], | |
31065 | "optional" : 1, | |
31066 | "type" : "string" | |
31067 | } | |
31068 | } | |
31069 | }, | |
31070 | "permissions" : { | |
31071 | "user" : "all" | |
31072 | }, | |
31073 | "proxyto" : "node", | |
44660702 DM |
31074 | "returns" : { |
31075 | "items" : { | |
31076 | "properties" : {}, | |
31077 | "type" : "object" | |
31078 | }, | |
31079 | "links" : [ | |
31080 | { | |
4d47f125 | 31081 | "href" : "{iface}", |
44660702 | 31082 | "rel" : "child" |
56122987 | 31083 | } |
44660702 DM |
31084 | ], |
31085 | "type" : "array" | |
31086 | } | |
4d47f125 TL |
31087 | }, |
31088 | "POST" : { | |
e9cd3bd4 | 31089 | "allowtoken" : 1, |
4d47f125 TL |
31090 | "description" : "Create network device configuration", |
31091 | "method" : "POST", | |
31092 | "name" : "create_network", | |
7aacca6f | 31093 | "parameters" : { |
44660702 | 31094 | "additionalProperties" : 0, |
7aacca6f | 31095 | "properties" : { |
4d47f125 TL |
31096 | "address" : { |
31097 | "description" : "IP address.", | |
31098 | "format" : "ipv4", | |
31099 | "optional" : 1, | |
31100 | "requires" : "netmask", | |
31101 | "type" : "string", | |
31102 | "typetext" : "<string>" | |
31103 | }, | |
31104 | "address6" : { | |
31105 | "description" : "IP address.", | |
31106 | "format" : "ipv6", | |
31107 | "optional" : 1, | |
31108 | "requires" : "netmask6", | |
31109 | "type" : "string", | |
31110 | "typetext" : "<string>" | |
31111 | }, | |
31112 | "autostart" : { | |
31113 | "description" : "Automatically start interface on boot.", | |
31114 | "optional" : 1, | |
31115 | "type" : "boolean", | |
31116 | "typetext" : "<boolean>" | |
31117 | }, | |
e9cd3bd4 TL |
31118 | "bond-primary" : { |
31119 | "description" : "Specify the primary interface for active-backup bond.", | |
31120 | "format" : "pve-iface", | |
31121 | "optional" : 1, | |
31122 | "type" : "string", | |
31123 | "typetext" : "<string>" | |
31124 | }, | |
4d47f125 TL |
31125 | "bond_mode" : { |
31126 | "description" : "Bonding mode.", | |
31127 | "enum" : [ | |
31128 | "balance-rr", | |
31129 | "active-backup", | |
31130 | "balance-xor", | |
31131 | "broadcast", | |
31132 | "802.3ad", | |
31133 | "balance-tlb", | |
31134 | "balance-alb", | |
31135 | "balance-slb", | |
31136 | "lacp-balance-slb", | |
31137 | "lacp-balance-tcp" | |
31138 | ], | |
31139 | "optional" : 1, | |
31140 | "type" : "string" | |
31141 | }, | |
31142 | "bond_xmit_hash_policy" : { | |
31143 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
31144 | "enum" : [ | |
31145 | "layer2", | |
31146 | "layer2+3", | |
31147 | "layer3+4" | |
31148 | ], | |
31149 | "optional" : 1, | |
31150 | "type" : "string" | |
31151 | }, | |
31152 | "bridge_ports" : { | |
1e3f8156 | 31153 | "description" : "Specify the interfaces you want to add to your bridge.", |
4d47f125 TL |
31154 | "format" : "pve-iface-list", |
31155 | "optional" : 1, | |
013dc89f DM |
31156 | "type" : "string", |
31157 | "typetext" : "<string>" | |
4d47f125 TL |
31158 | }, |
31159 | "bridge_vlan_aware" : { | |
31160 | "description" : "Enable bridge vlan support.", | |
44660702 | 31161 | "optional" : 1, |
013dc89f DM |
31162 | "type" : "boolean", |
31163 | "typetext" : "<boolean>" | |
44660702 | 31164 | }, |
bb4c8cf8 TL |
31165 | "cidr" : { |
31166 | "description" : "IPv4 CIDR.", | |
31167 | "format" : "CIDRv4", | |
31168 | "optional" : 1, | |
31169 | "type" : "string", | |
31170 | "typetext" : "<string>" | |
31171 | }, | |
31172 | "cidr6" : { | |
31173 | "description" : "IPv6 CIDR.", | |
31174 | "format" : "CIDRv6", | |
31175 | "optional" : 1, | |
31176 | "type" : "string", | |
31177 | "typetext" : "<string>" | |
31178 | }, | |
4d47f125 TL |
31179 | "comments" : { |
31180 | "description" : "Comments", | |
31181 | "optional" : 1, | |
31182 | "type" : "string", | |
31183 | "typetext" : "<string>" | |
31184 | }, | |
31185 | "comments6" : { | |
31186 | "description" : "Comments", | |
31187 | "optional" : 1, | |
31188 | "type" : "string", | |
31189 | "typetext" : "<string>" | |
31190 | }, | |
31191 | "gateway" : { | |
31192 | "description" : "Default gateway address.", | |
31193 | "format" : "ipv4", | |
31194 | "optional" : 1, | |
31195 | "type" : "string", | |
31196 | "typetext" : "<string>" | |
31197 | }, | |
31198 | "gateway6" : { | |
31199 | "description" : "Default ipv6 gateway address.", | |
31200 | "format" : "ipv6", | |
31201 | "optional" : 1, | |
31202 | "type" : "string", | |
31203 | "typetext" : "<string>" | |
31204 | }, | |
31205 | "iface" : { | |
31206 | "description" : "Network interface name.", | |
31207 | "format" : "pve-iface", | |
31208 | "maxLength" : 20, | |
31209 | "minLength" : 2, | |
31210 | "type" : "string", | |
31211 | "typetext" : "<string>" | |
31212 | }, | |
e9cd3bd4 TL |
31213 | "mtu" : { |
31214 | "description" : "MTU.", | |
31215 | "maximum" : 65520, | |
31216 | "minimum" : 1280, | |
31217 | "optional" : 1, | |
31218 | "type" : "integer", | |
31219 | "typetext" : "<integer> (1280 - 65520)" | |
31220 | }, | |
4d47f125 TL |
31221 | "netmask" : { |
31222 | "description" : "Network mask.", | |
31223 | "format" : "ipv4mask", | |
31224 | "optional" : 1, | |
31225 | "requires" : "address", | |
31226 | "type" : "string", | |
31227 | "typetext" : "<string>" | |
31228 | }, | |
31229 | "netmask6" : { | |
31230 | "description" : "Network mask.", | |
31231 | "maximum" : 128, | |
31232 | "minimum" : 0, | |
31233 | "optional" : 1, | |
31234 | "requires" : "address6", | |
31235 | "type" : "integer", | |
31236 | "typetext" : "<integer> (0 - 128)" | |
31237 | }, | |
7aacca6f | 31238 | "node" : { |
7aacca6f | 31239 | "description" : "The cluster node name.", |
44660702 | 31240 | "format" : "pve-node", |
013dc89f DM |
31241 | "type" : "string", |
31242 | "typetext" : "<string>" | |
4d47f125 TL |
31243 | }, |
31244 | "ovs_bonds" : { | |
31245 | "description" : "Specify the interfaces used by the bonding device.", | |
31246 | "format" : "pve-iface-list", | |
31247 | "optional" : 1, | |
31248 | "type" : "string", | |
31249 | "typetext" : "<string>" | |
31250 | }, | |
31251 | "ovs_bridge" : { | |
31252 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
31253 | "format" : "pve-iface", | |
31254 | "optional" : 1, | |
31255 | "type" : "string", | |
31256 | "typetext" : "<string>" | |
31257 | }, | |
31258 | "ovs_options" : { | |
31259 | "description" : "OVS interface options.", | |
31260 | "maxLength" : 1024, | |
31261 | "optional" : 1, | |
31262 | "type" : "string", | |
31263 | "typetext" : "<string>" | |
31264 | }, | |
31265 | "ovs_ports" : { | |
1e3f8156 | 31266 | "description" : "Specify the interfaces you want to add to your bridge.", |
4d47f125 TL |
31267 | "format" : "pve-iface-list", |
31268 | "optional" : 1, | |
31269 | "type" : "string", | |
31270 | "typetext" : "<string>" | |
31271 | }, | |
31272 | "ovs_tag" : { | |
31273 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
31274 | "maximum" : 4094, | |
31275 | "minimum" : 1, | |
31276 | "optional" : 1, | |
31277 | "type" : "integer", | |
31278 | "typetext" : "<integer> (1 - 4094)" | |
31279 | }, | |
31280 | "slaves" : { | |
31281 | "description" : "Specify the interfaces used by the bonding device.", | |
31282 | "format" : "pve-iface-list", | |
31283 | "optional" : 1, | |
31284 | "type" : "string", | |
31285 | "typetext" : "<string>" | |
31286 | }, | |
31287 | "type" : { | |
31288 | "description" : "Network interface type", | |
31289 | "enum" : [ | |
31290 | "bridge", | |
31291 | "bond", | |
31292 | "eth", | |
31293 | "alias", | |
31294 | "vlan", | |
31295 | "OVSBridge", | |
31296 | "OVSBond", | |
31297 | "OVSPort", | |
31298 | "OVSIntPort", | |
31299 | "unknown" | |
31300 | ], | |
31301 | "type" : "string" | |
e9cd3bd4 TL |
31302 | }, |
31303 | "vlan-id" : { | |
31304 | "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).", | |
31305 | "maximum" : 4094, | |
31306 | "minimum" : 1, | |
31307 | "optional" : 1, | |
31308 | "type" : "integer", | |
31309 | "typetext" : "<integer> (1 - 4094)" | |
31310 | }, | |
31311 | "vlan-raw-device" : { | |
31312 | "description" : "Specify the raw interface for the vlan interface.", | |
31313 | "format" : "pve-iface", | |
31314 | "optional" : 1, | |
31315 | "type" : "string", | |
31316 | "typetext" : "<string>" | |
7aacca6f DM |
31317 | } |
31318 | } | |
31319 | }, | |
35a75dd3 DM |
31320 | "permissions" : { |
31321 | "check" : [ | |
31322 | "perm", | |
31323 | "/nodes/{node}", | |
31324 | [ | |
31325 | "Sys.Modify" | |
31326 | ] | |
31327 | ] | |
31328 | }, | |
7aacca6f | 31329 | "protected" : 1, |
7aacca6f | 31330 | "proxyto" : "node", |
44660702 DM |
31331 | "returns" : { |
31332 | "type" : "null" | |
31333 | } | |
31334 | }, | |
31335 | "PUT" : { | |
e9cd3bd4 | 31336 | "allowtoken" : 1, |
4d47f125 | 31337 | "description" : "Reload network configuration", |
44660702 | 31338 | "method" : "PUT", |
4d47f125 | 31339 | "name" : "reload_network_config", |
7aacca6f DM |
31340 | "parameters" : { |
31341 | "additionalProperties" : 0, | |
31342 | "properties" : { | |
7aacca6f | 31343 | "node" : { |
7aacca6f | 31344 | "description" : "The cluster node name.", |
44660702 | 31345 | "format" : "pve-node", |
013dc89f DM |
31346 | "type" : "string", |
31347 | "typetext" : "<string>" | |
7aacca6f DM |
31348 | } |
31349 | } | |
31350 | }, | |
35a75dd3 DM |
31351 | "permissions" : { |
31352 | "check" : [ | |
31353 | "perm", | |
31354 | "/nodes/{node}", | |
31355 | [ | |
31356 | "Sys.Modify" | |
31357 | ] | |
31358 | ] | |
31359 | }, | |
44660702 DM |
31360 | "protected" : 1, |
31361 | "proxyto" : "node", | |
7aacca6f | 31362 | "returns" : { |
4d47f125 | 31363 | "type" : "string" |
44660702 | 31364 | } |
7aacca6f DM |
31365 | } |
31366 | }, | |
4d47f125 TL |
31367 | "leaf" : 0, |
31368 | "path" : "/nodes/{node}/network", | |
31369 | "text" : "network" | |
7aacca6f DM |
31370 | }, |
31371 | { | |
7aacca6f DM |
31372 | "children" : [ |
31373 | { | |
4d47f125 TL |
31374 | "children" : [ |
31375 | { | |
31376 | "info" : { | |
31377 | "GET" : { | |
e9cd3bd4 | 31378 | "allowtoken" : 1, |
4d47f125 TL |
31379 | "description" : "Read task log.", |
31380 | "method" : "GET", | |
31381 | "name" : "read_task_log", | |
31382 | "parameters" : { | |
31383 | "additionalProperties" : 0, | |
31384 | "properties" : { | |
31385 | "limit" : { | |
31386 | "default" : 50, | |
31387 | "minimum" : 0, | |
31388 | "optional" : 1, | |
31389 | "type" : "integer", | |
31390 | "typetext" : "<integer> (0 - N)" | |
31391 | }, | |
31392 | "node" : { | |
31393 | "description" : "The cluster node name.", | |
31394 | "format" : "pve-node", | |
31395 | "type" : "string", | |
31396 | "typetext" : "<string>" | |
31397 | }, | |
31398 | "start" : { | |
31399 | "default" : 0, | |
31400 | "minimum" : 0, | |
31401 | "optional" : 1, | |
31402 | "type" : "integer", | |
31403 | "typetext" : "<integer> (0 - N)" | |
31404 | }, | |
31405 | "upid" : { | |
31406 | "type" : "string", | |
31407 | "typetext" : "<string>" | |
31408 | } | |
31409 | } | |
31410 | }, | |
31411 | "permissions" : { | |
31412 | "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.", | |
31413 | "user" : "all" | |
31414 | }, | |
31415 | "protected" : 1, | |
31416 | "proxyto" : "node", | |
31417 | "returns" : { | |
31418 | "items" : { | |
31419 | "properties" : { | |
31420 | "n" : { | |
31421 | "description" : "Line number", | |
31422 | "type" : "integer" | |
31423 | }, | |
31424 | "t" : { | |
31425 | "description" : "Line text", | |
31426 | "type" : "string" | |
31427 | } | |
31428 | }, | |
31429 | "type" : "object" | |
31430 | }, | |
31431 | "type" : "array" | |
31432 | } | |
31433 | } | |
31434 | }, | |
31435 | "leaf" : 1, | |
31436 | "path" : "/nodes/{node}/tasks/{upid}/log", | |
31437 | "text" : "log" | |
31438 | }, | |
31439 | { | |
31440 | "info" : { | |
31441 | "GET" : { | |
e9cd3bd4 | 31442 | "allowtoken" : 1, |
4d47f125 TL |
31443 | "description" : "Read task status.", |
31444 | "method" : "GET", | |
31445 | "name" : "read_task_status", | |
31446 | "parameters" : { | |
31447 | "additionalProperties" : 0, | |
31448 | "properties" : { | |
31449 | "node" : { | |
31450 | "description" : "The cluster node name.", | |
31451 | "format" : "pve-node", | |
31452 | "type" : "string", | |
31453 | "typetext" : "<string>" | |
31454 | }, | |
31455 | "upid" : { | |
31456 | "type" : "string", | |
31457 | "typetext" : "<string>" | |
31458 | } | |
31459 | } | |
31460 | }, | |
31461 | "permissions" : { | |
31462 | "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.", | |
31463 | "user" : "all" | |
31464 | }, | |
31465 | "protected" : 1, | |
31466 | "proxyto" : "node", | |
31467 | "returns" : { | |
31468 | "properties" : { | |
31469 | "pid" : { | |
31470 | "type" : "integer" | |
31471 | }, | |
31472 | "status" : { | |
31473 | "enum" : [ | |
31474 | "running", | |
31475 | "stopped" | |
31476 | ], | |
31477 | "type" : "string" | |
31478 | } | |
31479 | }, | |
31480 | "type" : "object" | |
31481 | } | |
31482 | } | |
31483 | }, | |
31484 | "leaf" : 1, | |
31485 | "path" : "/nodes/{node}/tasks/{upid}/status", | |
31486 | "text" : "status" | |
31487 | } | |
31488 | ], | |
56122987 | 31489 | "info" : { |
7aacca6f | 31490 | "DELETE" : { |
e9cd3bd4 | 31491 | "allowtoken" : 1, |
4d47f125 | 31492 | "description" : "Stop a task.", |
44660702 | 31493 | "method" : "DELETE", |
4d47f125 | 31494 | "name" : "stop_task", |
44660702 DM |
31495 | "parameters" : { |
31496 | "additionalProperties" : 0, | |
31497 | "properties" : { | |
44660702 DM |
31498 | "node" : { |
31499 | "description" : "The cluster node name.", | |
31500 | "format" : "pve-node", | |
013dc89f DM |
31501 | "type" : "string", |
31502 | "typetext" : "<string>" | |
4d47f125 TL |
31503 | }, |
31504 | "upid" : { | |
31505 | "type" : "string", | |
31506 | "typetext" : "<string>" | |
44660702 DM |
31507 | } |
31508 | } | |
7aacca6f DM |
31509 | }, |
31510 | "permissions" : { | |
4d47f125 TL |
31511 | "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.", |
31512 | "user" : "all" | |
7aacca6f | 31513 | }, |
44660702 | 31514 | "protected" : 1, |
7aacca6f | 31515 | "proxyto" : "node", |
44660702 DM |
31516 | "returns" : { |
31517 | "type" : "null" | |
31518 | } | |
31519 | }, | |
31520 | "GET" : { | |
e9cd3bd4 | 31521 | "allowtoken" : 1, |
4d47f125 | 31522 | "description" : "", |
44660702 | 31523 | "method" : "GET", |
4d47f125 | 31524 | "name" : "upid_index", |
7aacca6f DM |
31525 | "parameters" : { |
31526 | "additionalProperties" : 0, | |
31527 | "properties" : { | |
7aacca6f | 31528 | "node" : { |
44660702 | 31529 | "description" : "The cluster node name.", |
7aacca6f | 31530 | "format" : "pve-node", |
013dc89f DM |
31531 | "type" : "string", |
31532 | "typetext" : "<string>" | |
7aacca6f | 31533 | }, |
4d47f125 TL |
31534 | "upid" : { |
31535 | "type" : "string", | |
31536 | "typetext" : "<string>" | |
7aacca6f DM |
31537 | } |
31538 | } | |
31539 | }, | |
7aacca6f | 31540 | "permissions" : { |
4d47f125 | 31541 | "user" : "all" |
7aacca6f DM |
31542 | }, |
31543 | "returns" : { | |
4d47f125 TL |
31544 | "items" : { |
31545 | "properties" : {}, | |
31546 | "type" : "object" | |
31547 | }, | |
31548 | "links" : [ | |
31549 | { | |
31550 | "href" : "{name}", | |
31551 | "rel" : "child" | |
31552 | } | |
31553 | ], | |
31554 | "type" : "array" | |
44660702 | 31555 | } |
7aacca6f DM |
31556 | } |
31557 | }, | |
4d47f125 TL |
31558 | "leaf" : 0, |
31559 | "path" : "/nodes/{node}/tasks/{upid}", | |
31560 | "text" : "{upid}" | |
7aacca6f DM |
31561 | } |
31562 | ], | |
7aacca6f | 31563 | "info" : { |
44660702 | 31564 | "GET" : { |
e9cd3bd4 | 31565 | "allowtoken" : 1, |
4d47f125 | 31566 | "description" : "Read task list for one node (finished tasks).", |
44660702 | 31567 | "method" : "GET", |
4d47f125 | 31568 | "name" : "node_tasks", |
44660702 DM |
31569 | "parameters" : { |
31570 | "additionalProperties" : 0, | |
31571 | "properties" : { | |
4d47f125 TL |
31572 | "errors" : { |
31573 | "default" : 0, | |
7aacca6f | 31574 | "optional" : 1, |
4d47f125 TL |
31575 | "type" : "boolean", |
31576 | "typetext" : "<boolean>" | |
7aacca6f | 31577 | }, |
4d47f125 TL |
31578 | "limit" : { |
31579 | "default" : 50, | |
31580 | "description" : "Only list this amount of tasks.", | |
31581 | "minimum" : 0, | |
44660702 | 31582 | "optional" : 1, |
4d47f125 TL |
31583 | "type" : "integer", |
31584 | "typetext" : "<integer> (0 - N)" | |
31585 | }, | |
31586 | "node" : { | |
31587 | "description" : "The cluster node name.", | |
31588 | "format" : "pve-node", | |
013dc89f DM |
31589 | "type" : "string", |
31590 | "typetext" : "<string>" | |
44660702 | 31591 | }, |
5f26e15b TL |
31592 | "source" : { |
31593 | "default" : "archive", | |
31594 | "description" : "List archived, active or all tasks.", | |
31595 | "enum" : [ | |
31596 | "archive", | |
31597 | "active", | |
31598 | "all" | |
31599 | ], | |
31600 | "optional" : 1, | |
31601 | "type" : "string" | |
31602 | }, | |
4d47f125 TL |
31603 | "start" : { |
31604 | "default" : 0, | |
31605 | "description" : "List tasks beginning from this offset.", | |
31606 | "minimum" : 0, | |
44660702 | 31607 | "optional" : 1, |
4d47f125 TL |
31608 | "type" : "integer", |
31609 | "typetext" : "<integer> (0 - N)" | |
44660702 | 31610 | }, |
5f26e15b TL |
31611 | "typefilter" : { |
31612 | "description" : "Only list tasks of this type (e.g., vzstart, vzdump).", | |
31613 | "optional" : 1, | |
31614 | "type" : "string", | |
31615 | "typetext" : "<string>" | |
31616 | }, | |
4d47f125 TL |
31617 | "userfilter" : { |
31618 | "description" : "Only list tasks from this user.", | |
44660702 | 31619 | "optional" : 1, |
013dc89f DM |
31620 | "type" : "string", |
31621 | "typetext" : "<string>" | |
44660702 | 31622 | }, |
4d47f125 TL |
31623 | "vmid" : { |
31624 | "description" : "Only list tasks for this VM.", | |
31625 | "format" : "pve-vmid", | |
44660702 DM |
31626 | "minimum" : 1, |
31627 | "optional" : 1, | |
4bd7df8b | 31628 | "type" : "integer", |
4d47f125 TL |
31629 | "typetext" : "<integer> (1 - N)" |
31630 | } | |
31631 | } | |
31632 | }, | |
31633 | "permissions" : { | |
31634 | "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).", | |
31635 | "user" : "all" | |
31636 | }, | |
31637 | "proxyto" : "node", | |
31638 | "returns" : { | |
31639 | "items" : { | |
31640 | "properties" : { | |
31641 | "endtime" : { | |
31642 | "optional" : 1, | |
31643 | "title" : "Endtime", | |
31644 | "type" : "integer" | |
31645 | }, | |
31646 | "id" : { | |
4d47f125 TL |
31647 | "title" : "ID", |
31648 | "type" : "string" | |
31649 | }, | |
31650 | "node" : { | |
4d47f125 TL |
31651 | "title" : "Node", |
31652 | "type" : "string" | |
31653 | }, | |
31654 | "pid" : { | |
4d47f125 TL |
31655 | "title" : "PID", |
31656 | "type" : "integer" | |
31657 | }, | |
31658 | "pstart" : { | |
4d47f125 TL |
31659 | "type" : "integer" |
31660 | }, | |
31661 | "starttime" : { | |
4d47f125 TL |
31662 | "title" : "Starttime", |
31663 | "type" : "integer" | |
31664 | }, | |
31665 | "status" : { | |
31666 | "optional" : 1, | |
31667 | "title" : "Status", | |
31668 | "type" : "string" | |
31669 | }, | |
31670 | "type" : { | |
4d47f125 TL |
31671 | "title" : "Type", |
31672 | "type" : "string" | |
31673 | }, | |
31674 | "upid" : { | |
31675 | "title" : "UPID", | |
31676 | "type" : "string" | |
31677 | }, | |
31678 | "user" : { | |
4d47f125 TL |
31679 | "title" : "User", |
31680 | "type" : "string" | |
31681 | } | |
44660702 | 31682 | }, |
4d47f125 TL |
31683 | "type" : "object" |
31684 | }, | |
31685 | "links" : [ | |
31686 | { | |
31687 | "href" : "{upid}", | |
31688 | "rel" : "child" | |
31689 | } | |
31690 | ], | |
31691 | "type" : "array" | |
31692 | } | |
31693 | } | |
31694 | }, | |
31695 | "leaf" : 0, | |
31696 | "path" : "/nodes/{node}/tasks", | |
31697 | "text" : "tasks" | |
31698 | }, | |
31699 | { | |
31700 | "children" : [ | |
31701 | { | |
31702 | "info" : { | |
31703 | "GET" : { | |
e9cd3bd4 | 31704 | "allowtoken" : 1, |
4d47f125 TL |
31705 | "description" : "Scan zfs pool list on local node.", |
31706 | "method" : "GET", | |
31707 | "name" : "zfsscan", | |
31708 | "parameters" : { | |
31709 | "additionalProperties" : 0, | |
31710 | "properties" : { | |
31711 | "node" : { | |
31712 | "description" : "The cluster node name.", | |
31713 | "format" : "pve-node", | |
31714 | "type" : "string", | |
31715 | "typetext" : "<string>" | |
31716 | } | |
31717 | } | |
44660702 | 31718 | }, |
4d47f125 TL |
31719 | "permissions" : { |
31720 | "check" : [ | |
31721 | "perm", | |
31722 | "/storage", | |
31723 | [ | |
31724 | "Datastore.Allocate" | |
31725 | ] | |
31726 | ] | |
31727 | }, | |
31728 | "protected" : 1, | |
31729 | "proxyto" : "node", | |
31730 | "returns" : { | |
31731 | "items" : { | |
31732 | "properties" : { | |
31733 | "pool" : { | |
31734 | "description" : "ZFS pool name.", | |
31735 | "type" : "string" | |
31736 | } | |
31737 | }, | |
31738 | "type" : "object" | |
31739 | }, | |
31740 | "type" : "array" | |
31741 | } | |
31742 | } | |
31743 | }, | |
31744 | "leaf" : 1, | |
31745 | "path" : "/nodes/{node}/scan/zfs", | |
31746 | "text" : "zfs" | |
31747 | }, | |
31748 | { | |
31749 | "info" : { | |
31750 | "GET" : { | |
e9cd3bd4 | 31751 | "allowtoken" : 1, |
4d47f125 TL |
31752 | "description" : "Scan remote NFS server.", |
31753 | "method" : "GET", | |
31754 | "name" : "nfsscan", | |
31755 | "parameters" : { | |
31756 | "additionalProperties" : 0, | |
31757 | "properties" : { | |
31758 | "node" : { | |
31759 | "description" : "The cluster node name.", | |
31760 | "format" : "pve-node", | |
31761 | "type" : "string", | |
31762 | "typetext" : "<string>" | |
31763 | }, | |
31764 | "server" : { | |
31765 | "description" : "The server address (name or IP).", | |
31766 | "format" : "pve-storage-server", | |
31767 | "type" : "string", | |
31768 | "typetext" : "<string>" | |
31769 | } | |
31770 | } | |
31771 | }, | |
31772 | "permissions" : { | |
31773 | "check" : [ | |
31774 | "perm", | |
31775 | "/storage", | |
31776 | [ | |
31777 | "Datastore.Allocate" | |
31778 | ] | |
31779 | ] | |
31780 | }, | |
31781 | "protected" : 1, | |
31782 | "proxyto" : "node", | |
31783 | "returns" : { | |
31784 | "items" : { | |
31785 | "properties" : { | |
31786 | "options" : { | |
31787 | "description" : "NFS export options.", | |
31788 | "type" : "string" | |
31789 | }, | |
31790 | "path" : { | |
31791 | "description" : "The exported path.", | |
31792 | "type" : "string" | |
31793 | } | |
31794 | }, | |
31795 | "type" : "object" | |
31796 | }, | |
31797 | "type" : "array" | |
31798 | } | |
31799 | } | |
31800 | }, | |
31801 | "leaf" : 1, | |
31802 | "path" : "/nodes/{node}/scan/nfs", | |
31803 | "text" : "nfs" | |
31804 | }, | |
31805 | { | |
31806 | "info" : { | |
31807 | "GET" : { | |
e9cd3bd4 | 31808 | "allowtoken" : 1, |
4d47f125 TL |
31809 | "description" : "Scan remote CIFS server.", |
31810 | "method" : "GET", | |
31811 | "name" : "cifsscan", | |
31812 | "parameters" : { | |
31813 | "additionalProperties" : 0, | |
31814 | "properties" : { | |
31815 | "domain" : { | |
31816 | "description" : "SMB domain (Workgroup).", | |
31817 | "optional" : 1, | |
31818 | "type" : "string", | |
31819 | "typetext" : "<string>" | |
31820 | }, | |
31821 | "node" : { | |
31822 | "description" : "The cluster node name.", | |
31823 | "format" : "pve-node", | |
31824 | "type" : "string", | |
31825 | "typetext" : "<string>" | |
31826 | }, | |
31827 | "password" : { | |
31828 | "description" : "User password.", | |
31829 | "optional" : 1, | |
31830 | "type" : "string", | |
31831 | "typetext" : "<string>" | |
31832 | }, | |
31833 | "server" : { | |
31834 | "description" : "The server address (name or IP).", | |
31835 | "format" : "pve-storage-server", | |
31836 | "type" : "string", | |
31837 | "typetext" : "<string>" | |
31838 | }, | |
31839 | "username" : { | |
31840 | "description" : "User name.", | |
31841 | "optional" : 1, | |
31842 | "type" : "string", | |
31843 | "typetext" : "<string>" | |
31844 | } | |
31845 | } | |
31846 | }, | |
31847 | "permissions" : { | |
31848 | "check" : [ | |
31849 | "perm", | |
31850 | "/storage", | |
31851 | [ | |
31852 | "Datastore.Allocate" | |
31853 | ] | |
31854 | ] | |
31855 | }, | |
31856 | "protected" : 1, | |
31857 | "proxyto" : "node", | |
31858 | "returns" : { | |
31859 | "items" : { | |
31860 | "properties" : { | |
31861 | "description" : { | |
31862 | "description" : "Descriptive text from server.", | |
31863 | "type" : "string" | |
31864 | }, | |
31865 | "share" : { | |
31866 | "description" : "The cifs share name.", | |
31867 | "type" : "string" | |
31868 | } | |
31869 | }, | |
31870 | "type" : "object" | |
31871 | }, | |
31872 | "type" : "array" | |
56122987 | 31873 | } |
44660702 | 31874 | } |
56122987 | 31875 | }, |
4d47f125 TL |
31876 | "leaf" : 1, |
31877 | "path" : "/nodes/{node}/scan/cifs", | |
31878 | "text" : "cifs" | |
31879 | }, | |
44660702 | 31880 | { |
4d47f125 TL |
31881 | "info" : { |
31882 | "GET" : { | |
e9cd3bd4 | 31883 | "allowtoken" : 1, |
4d47f125 TL |
31884 | "description" : "Scan remote GlusterFS server.", |
31885 | "method" : "GET", | |
31886 | "name" : "glusterfsscan", | |
31887 | "parameters" : { | |
31888 | "additionalProperties" : 0, | |
31889 | "properties" : { | |
31890 | "node" : { | |
31891 | "description" : "The cluster node name.", | |
31892 | "format" : "pve-node", | |
31893 | "type" : "string", | |
31894 | "typetext" : "<string>" | |
7aacca6f | 31895 | }, |
4d47f125 TL |
31896 | "server" : { |
31897 | "description" : "The server address (name or IP).", | |
31898 | "format" : "pve-storage-server", | |
31899 | "type" : "string", | |
31900 | "typetext" : "<string>" | |
44660702 | 31901 | } |
7aacca6f | 31902 | } |
56122987 | 31903 | }, |
4d47f125 TL |
31904 | "permissions" : { |
31905 | "check" : [ | |
31906 | "perm", | |
31907 | "/storage", | |
31908 | [ | |
31909 | "Datastore.Allocate" | |
31910 | ] | |
31911 | ] | |
31912 | }, | |
31913 | "protected" : 1, | |
31914 | "proxyto" : "node", | |
31915 | "returns" : { | |
31916 | "items" : { | |
31917 | "properties" : { | |
31918 | "volname" : { | |
31919 | "description" : "The volume name.", | |
31920 | "type" : "string" | |
7aacca6f DM |
31921 | } |
31922 | }, | |
4d47f125 TL |
31923 | "type" : "object" |
31924 | }, | |
31925 | "type" : "array" | |
31926 | } | |
31927 | } | |
31928 | }, | |
31929 | "leaf" : 1, | |
31930 | "path" : "/nodes/{node}/scan/glusterfs", | |
31931 | "text" : "glusterfs" | |
31932 | }, | |
31933 | { | |
31934 | "info" : { | |
31935 | "GET" : { | |
e9cd3bd4 | 31936 | "allowtoken" : 1, |
4d47f125 TL |
31937 | "description" : "Scan remote iSCSI server.", |
31938 | "method" : "GET", | |
31939 | "name" : "iscsiscan", | |
31940 | "parameters" : { | |
31941 | "additionalProperties" : 0, | |
31942 | "properties" : { | |
31943 | "node" : { | |
31944 | "description" : "The cluster node name.", | |
31945 | "format" : "pve-node", | |
31946 | "type" : "string", | |
31947 | "typetext" : "<string>" | |
56122987 | 31948 | }, |
4d47f125 TL |
31949 | "portal" : { |
31950 | "description" : "The iSCSI portal (IP or DNS name with optional port).", | |
31951 | "format" : "pve-storage-portal-dns", | |
31952 | "type" : "string", | |
31953 | "typetext" : "<string>" | |
31954 | } | |
31955 | } | |
31956 | }, | |
31957 | "permissions" : { | |
31958 | "check" : [ | |
31959 | "perm", | |
31960 | "/storage", | |
31961 | [ | |
31962 | "Datastore.Allocate" | |
31963 | ] | |
31964 | ] | |
31965 | }, | |
31966 | "protected" : 1, | |
31967 | "proxyto" : "node", | |
31968 | "returns" : { | |
31969 | "items" : { | |
31970 | "properties" : { | |
31971 | "portal" : { | |
31972 | "description" : "The iSCSI portal name.", | |
31973 | "type" : "string" | |
7aacca6f | 31974 | }, |
4d47f125 TL |
31975 | "target" : { |
31976 | "description" : "The iSCSI target name.", | |
31977 | "type" : "string" | |
31978 | } | |
31979 | }, | |
31980 | "type" : "object" | |
31981 | }, | |
31982 | "type" : "array" | |
31983 | } | |
31984 | } | |
31985 | }, | |
31986 | "leaf" : 1, | |
31987 | "path" : "/nodes/{node}/scan/iscsi", | |
31988 | "text" : "iscsi" | |
31989 | }, | |
31990 | { | |
31991 | "info" : { | |
31992 | "GET" : { | |
e9cd3bd4 | 31993 | "allowtoken" : 1, |
4d47f125 TL |
31994 | "description" : "List local LVM volume groups.", |
31995 | "method" : "GET", | |
31996 | "name" : "lvmscan", | |
31997 | "parameters" : { | |
31998 | "additionalProperties" : 0, | |
31999 | "properties" : { | |
32000 | "node" : { | |
32001 | "description" : "The cluster node name.", | |
32002 | "format" : "pve-node", | |
32003 | "type" : "string", | |
32004 | "typetext" : "<string>" | |
56122987 | 32005 | } |
7aacca6f | 32006 | } |
44660702 | 32007 | }, |
4d47f125 TL |
32008 | "permissions" : { |
32009 | "check" : [ | |
32010 | "perm", | |
32011 | "/storage", | |
32012 | [ | |
32013 | "Datastore.Allocate" | |
32014 | ] | |
32015 | ] | |
32016 | }, | |
32017 | "protected" : 1, | |
32018 | "proxyto" : "node", | |
32019 | "returns" : { | |
32020 | "items" : { | |
32021 | "properties" : { | |
32022 | "vg" : { | |
32023 | "description" : "The LVM logical volume group name.", | |
32024 | "type" : "string" | |
32025 | } | |
32026 | }, | |
32027 | "type" : "object" | |
32028 | }, | |
32029 | "type" : "array" | |
32030 | } | |
56122987 | 32031 | } |
4d47f125 TL |
32032 | }, |
32033 | "leaf" : 1, | |
32034 | "path" : "/nodes/{node}/scan/lvm", | |
32035 | "text" : "lvm" | |
32036 | }, | |
32037 | { | |
44660702 | 32038 | "info" : { |
4d47f125 | 32039 | "GET" : { |
e9cd3bd4 | 32040 | "allowtoken" : 1, |
4d47f125 TL |
32041 | "description" : "List local LVM Thin Pools.", |
32042 | "method" : "GET", | |
32043 | "name" : "lvmthinscan", | |
44660702 DM |
32044 | "parameters" : { |
32045 | "additionalProperties" : 0, | |
32046 | "properties" : { | |
32047 | "node" : { | |
32048 | "description" : "The cluster node name.", | |
32049 | "format" : "pve-node", | |
013dc89f DM |
32050 | "type" : "string", |
32051 | "typetext" : "<string>" | |
44660702 | 32052 | }, |
4d47f125 TL |
32053 | "vg" : { |
32054 | "maxLength" : 100, | |
32055 | "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+", | |
32056 | "type" : "string" | |
44660702 | 32057 | } |
7aacca6f | 32058 | } |
44660702 DM |
32059 | }, |
32060 | "permissions" : { | |
4d47f125 TL |
32061 | "check" : [ |
32062 | "perm", | |
32063 | "/storage", | |
32064 | [ | |
32065 | "Datastore.Allocate" | |
32066 | ] | |
32067 | ] | |
44660702 DM |
32068 | }, |
32069 | "protected" : 1, | |
32070 | "proxyto" : "node", | |
32071 | "returns" : { | |
4d47f125 TL |
32072 | "items" : { |
32073 | "properties" : { | |
32074 | "lv" : { | |
32075 | "description" : "The LVM Thin Pool name (LVM logical volume).", | |
32076 | "type" : "string" | |
32077 | } | |
32078 | }, | |
32079 | "type" : "object" | |
32080 | }, | |
32081 | "type" : "array" | |
7aacca6f | 32082 | } |
4d47f125 TL |
32083 | } |
32084 | }, | |
32085 | "leaf" : 1, | |
32086 | "path" : "/nodes/{node}/scan/lvmthin", | |
32087 | "text" : "lvmthin" | |
32088 | }, | |
32089 | { | |
32090 | "info" : { | |
44660702 | 32091 | "GET" : { |
e9cd3bd4 | 32092 | "allowtoken" : 1, |
4d47f125 | 32093 | "description" : "List local USB devices.", |
44660702 | 32094 | "method" : "GET", |
4d47f125 | 32095 | "name" : "usbscan", |
44660702 DM |
32096 | "parameters" : { |
32097 | "additionalProperties" : 0, | |
32098 | "properties" : { | |
32099 | "node" : { | |
32100 | "description" : "The cluster node name.", | |
32101 | "format" : "pve-node", | |
013dc89f DM |
32102 | "type" : "string", |
32103 | "typetext" : "<string>" | |
44660702 DM |
32104 | } |
32105 | } | |
32106 | }, | |
32107 | "permissions" : { | |
4d47f125 TL |
32108 | "check" : [ |
32109 | "perm", | |
32110 | "/", | |
32111 | [ | |
32112 | "Sys.Modify" | |
32113 | ] | |
32114 | ] | |
44660702 | 32115 | }, |
4d47f125 TL |
32116 | "protected" : 1, |
32117 | "proxyto" : "node", | |
44660702 DM |
32118 | "returns" : { |
32119 | "items" : { | |
4d47f125 TL |
32120 | "properties" : { |
32121 | "busnum" : { | |
32122 | "type" : "integer" | |
32123 | }, | |
32124 | "class" : { | |
32125 | "type" : "integer" | |
32126 | }, | |
32127 | "devnum" : { | |
32128 | "type" : "integer" | |
32129 | }, | |
32130 | "level" : { | |
32131 | "type" : "integer" | |
32132 | }, | |
32133 | "manufacturer" : { | |
32134 | "optional" : 1, | |
32135 | "type" : "string" | |
32136 | }, | |
32137 | "port" : { | |
32138 | "type" : "integer" | |
32139 | }, | |
32140 | "prodid" : { | |
32141 | "type" : "string" | |
32142 | }, | |
32143 | "product" : { | |
32144 | "optional" : 1, | |
32145 | "type" : "string" | |
32146 | }, | |
32147 | "serial" : { | |
32148 | "optional" : 1, | |
32149 | "type" : "string" | |
32150 | }, | |
32151 | "speed" : { | |
32152 | "type" : "string" | |
32153 | }, | |
32154 | "usbpath" : { | |
32155 | "optional" : 1, | |
32156 | "type" : "string" | |
32157 | }, | |
32158 | "vendid" : { | |
32159 | "type" : "string" | |
32160 | } | |
32161 | }, | |
44660702 DM |
32162 | "type" : "object" |
32163 | }, | |
44660702 | 32164 | "type" : "array" |
56122987 | 32165 | } |
44660702 | 32166 | } |
56122987 | 32167 | }, |
4d47f125 TL |
32168 | "leaf" : 1, |
32169 | "path" : "/nodes/{node}/scan/usb", | |
32170 | "text" : "usb" | |
44660702 DM |
32171 | } |
32172 | ], | |
32173 | "info" : { | |
32174 | "GET" : { | |
e9cd3bd4 | 32175 | "allowtoken" : 1, |
4d47f125 | 32176 | "description" : "Index of available scan methods", |
44660702 | 32177 | "method" : "GET", |
4d47f125 | 32178 | "name" : "index", |
56122987 | 32179 | "parameters" : { |
7aacca6f | 32180 | "additionalProperties" : 0, |
56122987 | 32181 | "properties" : { |
56122987 DM |
32182 | "node" : { |
32183 | "description" : "The cluster node name.", | |
44660702 | 32184 | "format" : "pve-node", |
013dc89f DM |
32185 | "type" : "string", |
32186 | "typetext" : "<string>" | |
56122987 DM |
32187 | } |
32188 | } | |
32189 | }, | |
7aacca6f DM |
32190 | "permissions" : { |
32191 | "user" : "all" | |
32192 | }, | |
56122987 DM |
32193 | "returns" : { |
32194 | "items" : { | |
32195 | "properties" : { | |
4d47f125 | 32196 | "method" : { |
56122987 DM |
32197 | "type" : "string" |
32198 | } | |
32199 | }, | |
32200 | "type" : "object" | |
32201 | }, | |
56122987 DM |
32202 | "links" : [ |
32203 | { | |
4d47f125 | 32204 | "href" : "{method}", |
44660702 | 32205 | "rel" : "child" |
56122987 | 32206 | } |
44660702 DM |
32207 | ], |
32208 | "type" : "array" | |
56122987 DM |
32209 | } |
32210 | } | |
32211 | }, | |
44660702 | 32212 | "leaf" : 0, |
4d47f125 TL |
32213 | "path" : "/nodes/{node}/scan", |
32214 | "text" : "scan" | |
44660702 | 32215 | }, |
e2d681b3 TL |
32216 | { |
32217 | "children" : [ | |
32218 | { | |
32219 | "children" : [ | |
32220 | { | |
32221 | "children" : [ | |
32222 | { | |
32223 | "info" : { | |
32224 | "GET" : { | |
e9cd3bd4 | 32225 | "allowtoken" : 1, |
e2d681b3 TL |
32226 | "description" : "List mediated device types for given PCI device.", |
32227 | "method" : "GET", | |
32228 | "name" : "mdevscan", | |
32229 | "parameters" : { | |
32230 | "additionalProperties" : 0, | |
32231 | "properties" : { | |
32232 | "node" : { | |
32233 | "description" : "The cluster node name.", | |
32234 | "format" : "pve-node", | |
32235 | "type" : "string", | |
32236 | "typetext" : "<string>" | |
32237 | }, | |
32238 | "pciid" : { | |
32239 | "description" : "The PCI ID to list the mdev types for.", | |
32240 | "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]", | |
32241 | "type" : "string" | |
32242 | } | |
32243 | } | |
32244 | }, | |
32245 | "permissions" : { | |
32246 | "check" : [ | |
32247 | "perm", | |
32248 | "/", | |
32249 | [ | |
32250 | "Sys.Modify" | |
32251 | ] | |
32252 | ] | |
32253 | }, | |
32254 | "protected" : 1, | |
32255 | "proxyto" : "node", | |
32256 | "returns" : { | |
32257 | "items" : { | |
32258 | "properties" : { | |
32259 | "available" : { | |
32260 | "description" : "The number of still available instances of this type.", | |
32261 | "type" : "integer" | |
32262 | }, | |
32263 | "description" : { | |
32264 | "type" : "string" | |
32265 | }, | |
32266 | "type" : { | |
32267 | "description" : "The name of the mdev type.", | |
32268 | "type" : "string" | |
32269 | } | |
32270 | }, | |
32271 | "type" : "object" | |
32272 | }, | |
32273 | "type" : "array" | |
32274 | } | |
32275 | } | |
32276 | }, | |
32277 | "leaf" : 1, | |
32278 | "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev", | |
32279 | "text" : "mdev" | |
32280 | } | |
32281 | ], | |
32282 | "info" : { | |
32283 | "GET" : { | |
e9cd3bd4 | 32284 | "allowtoken" : 1, |
e2d681b3 TL |
32285 | "description" : "Index of available pci methods", |
32286 | "method" : "GET", | |
32287 | "name" : "pciindex", | |
32288 | "parameters" : { | |
32289 | "additionalProperties" : 0, | |
32290 | "properties" : { | |
32291 | "node" : { | |
32292 | "description" : "The cluster node name.", | |
32293 | "format" : "pve-node", | |
32294 | "type" : "string", | |
32295 | "typetext" : "<string>" | |
32296 | }, | |
32297 | "pciid" : { | |
32298 | "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]", | |
32299 | "type" : "string" | |
32300 | } | |
32301 | } | |
32302 | }, | |
32303 | "permissions" : { | |
32304 | "user" : "all" | |
32305 | }, | |
32306 | "returns" : { | |
32307 | "items" : { | |
32308 | "properties" : { | |
32309 | "method" : { | |
32310 | "type" : "string" | |
32311 | } | |
32312 | }, | |
32313 | "type" : "object" | |
32314 | }, | |
32315 | "links" : [ | |
32316 | { | |
32317 | "href" : "{method}", | |
32318 | "rel" : "child" | |
32319 | } | |
32320 | ], | |
32321 | "type" : "array" | |
32322 | } | |
32323 | } | |
32324 | }, | |
32325 | "leaf" : 0, | |
32326 | "path" : "/nodes/{node}/hardware/pci/{pciid}", | |
32327 | "text" : "{pciid}" | |
32328 | } | |
32329 | ], | |
32330 | "info" : { | |
32331 | "GET" : { | |
e9cd3bd4 | 32332 | "allowtoken" : 1, |
e2d681b3 TL |
32333 | "description" : "List local PCI devices.", |
32334 | "method" : "GET", | |
32335 | "name" : "pciscan", | |
32336 | "parameters" : { | |
32337 | "additionalProperties" : 0, | |
32338 | "properties" : { | |
32339 | "node" : { | |
32340 | "description" : "The cluster node name.", | |
32341 | "format" : "pve-node", | |
32342 | "type" : "string", | |
32343 | "typetext" : "<string>" | |
32344 | }, | |
32345 | "pci-class-blacklist" : { | |
32346 | "default" : "05;06;08;0b", | |
32347 | "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).", | |
32348 | "format" : "string-list", | |
32349 | "optional" : 1, | |
32350 | "type" : "string", | |
32351 | "typetext" : "<string>" | |
32352 | }, | |
32353 | "verbose" : { | |
32354 | "default" : 1, | |
32355 | "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.", | |
32356 | "optional" : 1, | |
32357 | "type" : "boolean", | |
32358 | "typetext" : "<boolean>" | |
32359 | } | |
32360 | } | |
32361 | }, | |
32362 | "permissions" : { | |
32363 | "check" : [ | |
32364 | "perm", | |
32365 | "/", | |
32366 | [ | |
32367 | "Sys.Modify" | |
32368 | ] | |
32369 | ] | |
32370 | }, | |
32371 | "protected" : 1, | |
32372 | "proxyto" : "node", | |
32373 | "returns" : { | |
32374 | "items" : { | |
32375 | "properties" : { | |
32376 | "class" : { | |
32377 | "description" : "The PCI Class of the device.", | |
32378 | "type" : "string" | |
32379 | }, | |
32380 | "device" : { | |
32381 | "description" : "The Device ID.", | |
32382 | "type" : "string" | |
32383 | }, | |
32384 | "device_name" : { | |
32385 | "optional" : 1, | |
32386 | "type" : "string" | |
32387 | }, | |
32388 | "id" : { | |
32389 | "description" : "The PCI ID.", | |
32390 | "type" : "string" | |
32391 | }, | |
32392 | "iommugroup" : { | |
32393 | "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.", | |
32394 | "type" : "integer" | |
32395 | }, | |
32396 | "mdev" : { | |
32397 | "description" : "If set, marks that the device is capable of creating mediated devices.", | |
32398 | "optional" : 1, | |
32399 | "type" : "boolean" | |
32400 | }, | |
32401 | "subsystem_device" : { | |
32402 | "description" : "The Subsystem Device ID.", | |
32403 | "optional" : 1, | |
32404 | "type" : "string" | |
32405 | }, | |
32406 | "subsystem_device_name" : { | |
32407 | "optional" : 1, | |
32408 | "type" : "string" | |
32409 | }, | |
32410 | "subsystem_vendor" : { | |
32411 | "description" : "The Subsystem Vendor ID.", | |
32412 | "optional" : 1, | |
32413 | "type" : "string" | |
32414 | }, | |
32415 | "subsystem_vendor_name" : { | |
32416 | "optional" : 1, | |
32417 | "type" : "string" | |
32418 | }, | |
32419 | "vendor" : { | |
32420 | "description" : "The Vendor ID.", | |
32421 | "type" : "string" | |
32422 | }, | |
32423 | "vendor_name" : { | |
32424 | "optional" : 1, | |
32425 | "type" : "string" | |
32426 | } | |
32427 | }, | |
32428 | "type" : "object" | |
32429 | }, | |
32430 | "links" : [ | |
32431 | { | |
32432 | "href" : "{id}", | |
32433 | "rel" : "child" | |
32434 | } | |
32435 | ], | |
32436 | "type" : "array" | |
32437 | } | |
32438 | } | |
32439 | }, | |
32440 | "leaf" : 0, | |
32441 | "path" : "/nodes/{node}/hardware/pci", | |
32442 | "text" : "pci" | |
32443 | } | |
32444 | ], | |
32445 | "info" : { | |
32446 | "GET" : { | |
e9cd3bd4 | 32447 | "allowtoken" : 1, |
e2d681b3 TL |
32448 | "description" : "Index of hardware types", |
32449 | "method" : "GET", | |
32450 | "name" : "index", | |
32451 | "parameters" : { | |
32452 | "additionalProperties" : 0, | |
32453 | "properties" : { | |
32454 | "node" : { | |
32455 | "description" : "The cluster node name.", | |
32456 | "format" : "pve-node", | |
32457 | "type" : "string", | |
32458 | "typetext" : "<string>" | |
32459 | } | |
32460 | } | |
32461 | }, | |
32462 | "permissions" : { | |
32463 | "user" : "all" | |
32464 | }, | |
32465 | "returns" : { | |
32466 | "items" : { | |
32467 | "properties" : { | |
32468 | "type" : { | |
32469 | "type" : "string" | |
32470 | } | |
32471 | }, | |
32472 | "type" : "object" | |
32473 | }, | |
32474 | "links" : [ | |
32475 | { | |
32476 | "href" : "{type}", | |
32477 | "rel" : "child" | |
32478 | } | |
32479 | ], | |
32480 | "type" : "array" | |
32481 | } | |
32482 | } | |
32483 | }, | |
32484 | "leaf" : 0, | |
32485 | "path" : "/nodes/{node}/hardware", | |
32486 | "text" : "hardware" | |
32487 | }, | |
44660702 | 32488 | { |
56122987 DM |
32489 | "children" : [ |
32490 | { | |
4d47f125 TL |
32491 | "children" : [ |
32492 | { | |
32493 | "children" : [ | |
32494 | { | |
32495 | "info" : { | |
32496 | "DELETE" : { | |
e9cd3bd4 | 32497 | "allowtoken" : 1, |
4d47f125 TL |
32498 | "description" : "Delete volume", |
32499 | "method" : "DELETE", | |
32500 | "name" : "delete", | |
32501 | "parameters" : { | |
32502 | "additionalProperties" : 0, | |
32503 | "properties" : { | |
1c532546 TL |
32504 | "delay" : { |
32505 | "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.", | |
32506 | "maximum" : 30, | |
32507 | "minimum" : 1, | |
32508 | "optional" : 1, | |
32509 | "type" : "integer", | |
32510 | "typetext" : "<integer> (1 - 30)" | |
32511 | }, | |
4d47f125 TL |
32512 | "node" : { |
32513 | "description" : "The cluster node name.", | |
32514 | "format" : "pve-node", | |
32515 | "type" : "string", | |
32516 | "typetext" : "<string>" | |
32517 | }, | |
32518 | "storage" : { | |
32519 | "description" : "The storage identifier.", | |
32520 | "format" : "pve-storage-id", | |
32521 | "optional" : 1, | |
32522 | "type" : "string", | |
32523 | "typetext" : "<string>" | |
32524 | }, | |
32525 | "volume" : { | |
32526 | "description" : "Volume identifier", | |
32527 | "type" : "string", | |
32528 | "typetext" : "<string>" | |
32529 | } | |
32530 | } | |
32531 | }, | |
32532 | "permissions" : { | |
32533 | "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).", | |
32534 | "user" : "all" | |
32535 | }, | |
32536 | "protected" : 1, | |
32537 | "proxyto" : "node", | |
32538 | "returns" : { | |
1c532546 TL |
32539 | "optional" : 1, |
32540 | "type" : "string" | |
4d47f125 TL |
32541 | } |
32542 | }, | |
32543 | "GET" : { | |
e9cd3bd4 | 32544 | "allowtoken" : 1, |
4d47f125 TL |
32545 | "description" : "Get volume attributes", |
32546 | "method" : "GET", | |
32547 | "name" : "info", | |
32548 | "parameters" : { | |
32549 | "additionalProperties" : 0, | |
32550 | "properties" : { | |
32551 | "node" : { | |
32552 | "description" : "The cluster node name.", | |
32553 | "format" : "pve-node", | |
32554 | "type" : "string", | |
32555 | "typetext" : "<string>" | |
32556 | }, | |
32557 | "storage" : { | |
32558 | "description" : "The storage identifier.", | |
32559 | "format" : "pve-storage-id", | |
32560 | "optional" : 1, | |
32561 | "type" : "string", | |
32562 | "typetext" : "<string>" | |
32563 | }, | |
32564 | "volume" : { | |
32565 | "description" : "Volume identifier", | |
32566 | "type" : "string", | |
32567 | "typetext" : "<string>" | |
32568 | } | |
32569 | } | |
32570 | }, | |
32571 | "permissions" : { | |
32572 | "description" : "You need read access for the volume.", | |
32573 | "user" : "all" | |
32574 | }, | |
32575 | "protected" : 1, | |
32576 | "proxyto" : "node", | |
32577 | "returns" : { | |
32578 | "type" : "object" | |
32579 | } | |
32580 | }, | |
32581 | "POST" : { | |
e9cd3bd4 | 32582 | "allowtoken" : 1, |
4d47f125 TL |
32583 | "description" : "Copy a volume. This is experimental code - do not use.", |
32584 | "method" : "POST", | |
32585 | "name" : "copy", | |
32586 | "parameters" : { | |
32587 | "additionalProperties" : 0, | |
32588 | "properties" : { | |
32589 | "node" : { | |
32590 | "description" : "The cluster node name.", | |
32591 | "format" : "pve-node", | |
32592 | "type" : "string", | |
32593 | "typetext" : "<string>" | |
32594 | }, | |
32595 | "storage" : { | |
32596 | "description" : "The storage identifier.", | |
32597 | "format" : "pve-storage-id", | |
32598 | "optional" : 1, | |
32599 | "type" : "string", | |
32600 | "typetext" : "<string>" | |
32601 | }, | |
32602 | "target" : { | |
32603 | "description" : "Target volume identifier", | |
32604 | "type" : "string", | |
32605 | "typetext" : "<string>" | |
32606 | }, | |
32607 | "target_node" : { | |
32608 | "description" : "Target node. Default is local node.", | |
32609 | "format" : "pve-node", | |
32610 | "optional" : 1, | |
32611 | "type" : "string", | |
32612 | "typetext" : "<string>" | |
32613 | }, | |
32614 | "volume" : { | |
32615 | "description" : "Source volume identifier", | |
32616 | "type" : "string", | |
32617 | "typetext" : "<string>" | |
32618 | } | |
32619 | } | |
32620 | }, | |
32621 | "protected" : 1, | |
32622 | "proxyto" : "node", | |
32623 | "returns" : { | |
32624 | "type" : "string" | |
32625 | } | |
32626 | } | |
32627 | }, | |
32628 | "leaf" : 1, | |
32629 | "path" : "/nodes/{node}/storage/{storage}/content/{volume}", | |
32630 | "text" : "{volume}" | |
44660702 | 32631 | } |
4d47f125 TL |
32632 | ], |
32633 | "info" : { | |
32634 | "GET" : { | |
e9cd3bd4 | 32635 | "allowtoken" : 1, |
4d47f125 TL |
32636 | "description" : "List storage content.", |
32637 | "method" : "GET", | |
32638 | "name" : "index", | |
32639 | "parameters" : { | |
32640 | "additionalProperties" : 0, | |
32641 | "properties" : { | |
32642 | "content" : { | |
32643 | "description" : "Only list content of this type.", | |
32644 | "format" : "pve-storage-content", | |
32645 | "optional" : 1, | |
32646 | "type" : "string", | |
32647 | "typetext" : "<string>" | |
32648 | }, | |
32649 | "node" : { | |
32650 | "description" : "The cluster node name.", | |
32651 | "format" : "pve-node", | |
32652 | "type" : "string", | |
32653 | "typetext" : "<string>" | |
32654 | }, | |
32655 | "storage" : { | |
32656 | "description" : "The storage identifier.", | |
32657 | "format" : "pve-storage-id", | |
32658 | "type" : "string", | |
32659 | "typetext" : "<string>" | |
32660 | }, | |
32661 | "vmid" : { | |
32662 | "description" : "Only list images for this VM", | |
32663 | "format" : "pve-vmid", | |
32664 | "minimum" : 1, | |
32665 | "optional" : 1, | |
32666 | "type" : "integer", | |
32667 | "typetext" : "<integer> (1 - N)" | |
32668 | } | |
56122987 | 32669 | } |
44660702 | 32670 | }, |
4d47f125 TL |
32671 | "permissions" : { |
32672 | "check" : [ | |
32673 | "perm", | |
32674 | "/storage/{storage}", | |
32675 | [ | |
32676 | "Datastore.Audit", | |
32677 | "Datastore.AllocateSpace" | |
32678 | ], | |
32679 | "any", | |
32680 | 1 | |
32681 | ] | |
7aacca6f | 32682 | }, |
4d47f125 TL |
32683 | "protected" : 1, |
32684 | "proxyto" : "node", | |
32685 | "returns" : { | |
32686 | "items" : { | |
32687 | "properties" : { | |
c5aa7e14 TL |
32688 | "ctime" : { |
32689 | "description" : "Creation time (seconds since the UNIX Epoch).", | |
32690 | "minimum" : 0, | |
32691 | "optional" : 1, | |
32692 | "type" : "integer" | |
32693 | }, | |
4d47f125 TL |
32694 | "format" : { |
32695 | "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)", | |
32696 | "type" : "string" | |
32697 | }, | |
32698 | "parent" : { | |
32699 | "description" : "Volume identifier of parent (for linked cloned).", | |
32700 | "optional" : 1, | |
32701 | "type" : "string" | |
32702 | }, | |
32703 | "size" : { | |
32704 | "description" : "Volume size in bytes.", | |
32705 | "renderer" : "bytes", | |
32706 | "type" : "integer" | |
32707 | }, | |
32708 | "used" : { | |
c5aa7e14 | 32709 | "description" : "Used space. Please note that most storage plugins do not report anything useful here.", |
4d47f125 TL |
32710 | "optional" : 1, |
32711 | "renderer" : "bytes", | |
32712 | "type" : "integer" | |
32713 | }, | |
32714 | "vmid" : { | |
32715 | "description" : "Associated Owner VMID.", | |
32716 | "optional" : 1, | |
32717 | "type" : "integer" | |
32718 | }, | |
32719 | "volid" : { | |
32720 | "description" : "Volume identifier.", | |
32721 | "type" : "string" | |
32722 | } | |
32723 | }, | |
32724 | "type" : "object" | |
44660702 | 32725 | }, |
4d47f125 TL |
32726 | "links" : [ |
32727 | { | |
32728 | "href" : "{volid}", | |
32729 | "rel" : "child" | |
32730 | } | |
32731 | ], | |
32732 | "type" : "array" | |
32733 | } | |
32734 | }, | |
32735 | "POST" : { | |
e9cd3bd4 | 32736 | "allowtoken" : 1, |
4d47f125 TL |
32737 | "description" : "Allocate disk images.", |
32738 | "method" : "POST", | |
32739 | "name" : "create", | |
32740 | "parameters" : { | |
32741 | "additionalProperties" : 0, | |
32742 | "properties" : { | |
32743 | "filename" : { | |
32744 | "description" : "The name of the file to create.", | |
32745 | "type" : "string", | |
32746 | "typetext" : "<string>" | |
32747 | }, | |
32748 | "format" : { | |
32749 | "enum" : [ | |
32750 | "raw", | |
32751 | "qcow2", | |
32752 | "subvol" | |
32753 | ], | |
32754 | "optional" : 1, | |
32755 | "requires" : "size", | |
32756 | "type" : "string" | |
32757 | }, | |
32758 | "node" : { | |
32759 | "description" : "The cluster node name.", | |
32760 | "format" : "pve-node", | |
32761 | "type" : "string", | |
32762 | "typetext" : "<string>" | |
32763 | }, | |
32764 | "size" : { | |
32765 | "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)", | |
32766 | "pattern" : "\\d+[MG]?", | |
32767 | "type" : "string" | |
32768 | }, | |
32769 | "storage" : { | |
32770 | "description" : "The storage identifier.", | |
32771 | "format" : "pve-storage-id", | |
32772 | "type" : "string", | |
32773 | "typetext" : "<string>" | |
32774 | }, | |
32775 | "vmid" : { | |
32776 | "description" : "Specify owner VM", | |
32777 | "format" : "pve-vmid", | |
32778 | "minimum" : 1, | |
32779 | "type" : "integer", | |
32780 | "typetext" : "<integer> (1 - N)" | |
32781 | } | |
44660702 DM |
32782 | } |
32783 | }, | |
4d47f125 TL |
32784 | "permissions" : { |
32785 | "check" : [ | |
32786 | "perm", | |
32787 | "/storage/{storage}", | |
32788 | [ | |
32789 | "Datastore.AllocateSpace" | |
32790 | ] | |
32791 | ] | |
27a7acb2 | 32792 | }, |
4d47f125 TL |
32793 | "protected" : 1, |
32794 | "proxyto" : "node", | |
32795 | "returns" : { | |
32796 | "description" : "Volume identifier", | |
32797 | "type" : "string" | |
27a7acb2 DM |
32798 | } |
32799 | } | |
32800 | }, | |
4d47f125 TL |
32801 | "leaf" : 0, |
32802 | "path" : "/nodes/{node}/storage/{storage}/content", | |
32803 | "text" : "content" | |
32804 | }, | |
32805 | { | |
32806 | "info" : { | |
32807 | "GET" : { | |
e9cd3bd4 | 32808 | "allowtoken" : 1, |
4d47f125 TL |
32809 | "description" : "Read storage status.", |
32810 | "method" : "GET", | |
32811 | "name" : "read_status", | |
32812 | "parameters" : { | |
32813 | "additionalProperties" : 0, | |
32814 | "properties" : { | |
32815 | "node" : { | |
32816 | "description" : "The cluster node name.", | |
32817 | "format" : "pve-node", | |
32818 | "type" : "string", | |
32819 | "typetext" : "<string>" | |
32820 | }, | |
32821 | "storage" : { | |
32822 | "description" : "The storage identifier.", | |
32823 | "format" : "pve-storage-id", | |
32824 | "type" : "string", | |
32825 | "typetext" : "<string>" | |
32826 | } | |
27a7acb2 DM |
32827 | } |
32828 | }, | |
4d47f125 TL |
32829 | "permissions" : { |
32830 | "check" : [ | |
32831 | "perm", | |
32832 | "/storage/{storage}", | |
32833 | [ | |
32834 | "Datastore.Audit", | |
32835 | "Datastore.AllocateSpace" | |
32836 | ], | |
32837 | "any", | |
32838 | 1 | |
32839 | ] | |
7aacca6f | 32840 | }, |
4d47f125 TL |
32841 | "protected" : 1, |
32842 | "proxyto" : "node", | |
32843 | "returns" : { | |
32844 | "type" : "object" | |
56122987 | 32845 | } |
44660702 DM |
32846 | } |
32847 | }, | |
4d47f125 TL |
32848 | "leaf" : 1, |
32849 | "path" : "/nodes/{node}/storage/{storage}/status", | |
32850 | "text" : "status" | |
32851 | }, | |
32852 | { | |
32853 | "info" : { | |
32854 | "GET" : { | |
e9cd3bd4 | 32855 | "allowtoken" : 1, |
4d47f125 TL |
32856 | "description" : "Read storage RRD statistics (returns PNG).", |
32857 | "method" : "GET", | |
32858 | "name" : "rrd", | |
32859 | "parameters" : { | |
32860 | "additionalProperties" : 0, | |
32861 | "properties" : { | |
32862 | "cf" : { | |
32863 | "description" : "The RRD consolidation function", | |
32864 | "enum" : [ | |
32865 | "AVERAGE", | |
32866 | "MAX" | |
32867 | ], | |
32868 | "optional" : 1, | |
32869 | "type" : "string" | |
32870 | }, | |
32871 | "ds" : { | |
32872 | "description" : "The list of datasources you want to display.", | |
32873 | "format" : "pve-configid-list", | |
32874 | "type" : "string", | |
32875 | "typetext" : "<string>" | |
32876 | }, | |
32877 | "node" : { | |
32878 | "description" : "The cluster node name.", | |
32879 | "format" : "pve-node", | |
32880 | "type" : "string", | |
32881 | "typetext" : "<string>" | |
32882 | }, | |
32883 | "storage" : { | |
32884 | "description" : "The storage identifier.", | |
32885 | "format" : "pve-storage-id", | |
32886 | "type" : "string", | |
32887 | "typetext" : "<string>" | |
32888 | }, | |
32889 | "timeframe" : { | |
32890 | "description" : "Specify the time frame you are interested in.", | |
32891 | "enum" : [ | |
32892 | "hour", | |
32893 | "day", | |
32894 | "week", | |
32895 | "month", | |
32896 | "year" | |
32897 | ], | |
32898 | "type" : "string" | |
32899 | } | |
44660702 DM |
32900 | } |
32901 | }, | |
4d47f125 TL |
32902 | "permissions" : { |
32903 | "check" : [ | |
32904 | "perm", | |
32905 | "/storage/{storage}", | |
32906 | [ | |
32907 | "Datastore.Audit", | |
32908 | "Datastore.AllocateSpace" | |
32909 | ], | |
32910 | "any", | |
32911 | 1 | |
32912 | ] | |
32913 | }, | |
32914 | "protected" : 1, | |
32915 | "proxyto" : "node", | |
32916 | "returns" : { | |
32917 | "properties" : { | |
32918 | "filename" : { | |
32919 | "type" : "string" | |
32920 | } | |
32921 | }, | |
32922 | "type" : "object" | |
44660702 DM |
32923 | } |
32924 | } | |
32925 | }, | |
4d47f125 TL |
32926 | "leaf" : 1, |
32927 | "path" : "/nodes/{node}/storage/{storage}/rrd", | |
32928 | "text" : "rrd" | |
32929 | }, | |
32930 | { | |
32931 | "info" : { | |
32932 | "GET" : { | |
e9cd3bd4 | 32933 | "allowtoken" : 1, |
4d47f125 TL |
32934 | "description" : "Read storage RRD statistics.", |
32935 | "method" : "GET", | |
32936 | "name" : "rrddata", | |
32937 | "parameters" : { | |
32938 | "additionalProperties" : 0, | |
32939 | "properties" : { | |
32940 | "cf" : { | |
32941 | "description" : "The RRD consolidation function", | |
32942 | "enum" : [ | |
32943 | "AVERAGE", | |
32944 | "MAX" | |
32945 | ], | |
32946 | "optional" : 1, | |
32947 | "type" : "string" | |
32948 | }, | |
32949 | "node" : { | |
32950 | "description" : "The cluster node name.", | |
32951 | "format" : "pve-node", | |
32952 | "type" : "string", | |
32953 | "typetext" : "<string>" | |
32954 | }, | |
32955 | "storage" : { | |
32956 | "description" : "The storage identifier.", | |
32957 | "format" : "pve-storage-id", | |
32958 | "type" : "string", | |
32959 | "typetext" : "<string>" | |
32960 | }, | |
32961 | "timeframe" : { | |
32962 | "description" : "Specify the time frame you are interested in.", | |
32963 | "enum" : [ | |
32964 | "hour", | |
32965 | "day", | |
32966 | "week", | |
32967 | "month", | |
32968 | "year" | |
32969 | ], | |
32970 | "type" : "string" | |
32971 | } | |
56122987 DM |
32972 | } |
32973 | }, | |
4d47f125 TL |
32974 | "permissions" : { |
32975 | "check" : [ | |
32976 | "perm", | |
32977 | "/storage/{storage}", | |
32978 | [ | |
32979 | "Datastore.Audit", | |
32980 | "Datastore.AllocateSpace" | |
32981 | ], | |
32982 | "any", | |
32983 | 1 | |
32984 | ] | |
32985 | }, | |
32986 | "protected" : 1, | |
32987 | "proxyto" : "node", | |
32988 | "returns" : { | |
32989 | "items" : { | |
32990 | "properties" : {}, | |
32991 | "type" : "object" | |
32992 | }, | |
32993 | "type" : "array" | |
56122987 | 32994 | } |
7aacca6f | 32995 | } |
56122987 | 32996 | }, |
4d47f125 TL |
32997 | "leaf" : 1, |
32998 | "path" : "/nodes/{node}/storage/{storage}/rrddata", | |
32999 | "text" : "rrddata" | |
33000 | }, | |
33001 | { | |
33002 | "info" : { | |
33003 | "POST" : { | |
e9cd3bd4 | 33004 | "allowtoken" : 1, |
4d47f125 TL |
33005 | "description" : "Upload templates and ISO images.", |
33006 | "method" : "POST", | |
33007 | "name" : "upload", | |
33008 | "parameters" : { | |
33009 | "additionalProperties" : 0, | |
33010 | "properties" : { | |
33011 | "content" : { | |
33012 | "description" : "Content type.", | |
33013 | "format" : "pve-storage-content", | |
33014 | "type" : "string", | |
33015 | "typetext" : "<string>" | |
33016 | }, | |
33017 | "filename" : { | |
33018 | "description" : "The name of the file to create.", | |
33019 | "type" : "string", | |
33020 | "typetext" : "<string>" | |
33021 | }, | |
33022 | "node" : { | |
33023 | "description" : "The cluster node name.", | |
33024 | "format" : "pve-node", | |
33025 | "type" : "string", | |
33026 | "typetext" : "<string>" | |
33027 | }, | |
33028 | "storage" : { | |
33029 | "description" : "The storage identifier.", | |
33030 | "format" : "pve-storage-id", | |
33031 | "type" : "string", | |
33032 | "typetext" : "<string>" | |
33033 | }, | |
33034 | "tmpfilename" : { | |
1e3f8156 | 33035 | "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.", |
4d47f125 TL |
33036 | "optional" : 1, |
33037 | "type" : "string", | |
33038 | "typetext" : "<string>" | |
33039 | } | |
44660702 DM |
33040 | } |
33041 | }, | |
4d47f125 TL |
33042 | "permissions" : { |
33043 | "check" : [ | |
33044 | "perm", | |
33045 | "/storage/{storage}", | |
33046 | [ | |
33047 | "Datastore.AllocateTemplate" | |
33048 | ] | |
33049 | ] | |
56122987 | 33050 | }, |
4d47f125 TL |
33051 | "protected" : 1, |
33052 | "returns" : { | |
44660702 | 33053 | "type" : "string" |
56122987 | 33054 | } |
44660702 | 33055 | } |
56122987 | 33056 | }, |
4d47f125 TL |
33057 | "leaf" : 1, |
33058 | "path" : "/nodes/{node}/storage/{storage}/upload", | |
33059 | "text" : "upload" | |
56122987 | 33060 | } |
4d47f125 | 33061 | ], |
56122987 DM |
33062 | "info" : { |
33063 | "GET" : { | |
e9cd3bd4 | 33064 | "allowtoken" : 1, |
4d47f125 | 33065 | "description" : "", |
44660702 | 33066 | "method" : "GET", |
4d47f125 | 33067 | "name" : "diridx", |
44660702 DM |
33068 | "parameters" : { |
33069 | "additionalProperties" : 0, | |
33070 | "properties" : { | |
33071 | "node" : { | |
33072 | "description" : "The cluster node name.", | |
33073 | "format" : "pve-node", | |
013dc89f DM |
33074 | "type" : "string", |
33075 | "typetext" : "<string>" | |
4d47f125 TL |
33076 | }, |
33077 | "storage" : { | |
33078 | "description" : "The storage identifier.", | |
33079 | "format" : "pve-storage-id", | |
33080 | "type" : "string", | |
33081 | "typetext" : "<string>" | |
44660702 DM |
33082 | } |
33083 | } | |
33084 | }, | |
7aacca6f DM |
33085 | "permissions" : { |
33086 | "check" : [ | |
33087 | "perm", | |
4d47f125 | 33088 | "/storage/{storage}", |
7aacca6f | 33089 | [ |
4d47f125 TL |
33090 | "Datastore.Audit", |
33091 | "Datastore.AllocateSpace" | |
33092 | ], | |
33093 | "any", | |
33094 | 1 | |
7aacca6f DM |
33095 | ] |
33096 | }, | |
56122987 DM |
33097 | "returns" : { |
33098 | "items" : { | |
33099 | "properties" : { | |
4d47f125 | 33100 | "subdir" : { |
44660702 | 33101 | "type" : "string" |
56122987 DM |
33102 | } |
33103 | }, | |
33104 | "type" : "object" | |
7aacca6f | 33105 | }, |
4d47f125 TL |
33106 | "links" : [ |
33107 | { | |
33108 | "href" : "{subdir}", | |
33109 | "rel" : "child" | |
33110 | } | |
33111 | ], | |
7aacca6f | 33112 | "type" : "array" |
44660702 DM |
33113 | } |
33114 | } | |
33115 | }, | |
4d47f125 TL |
33116 | "leaf" : 0, |
33117 | "path" : "/nodes/{node}/storage/{storage}", | |
33118 | "text" : "{storage}" | |
44660702 DM |
33119 | } |
33120 | ], | |
33121 | "info" : { | |
33122 | "GET" : { | |
e9cd3bd4 | 33123 | "allowtoken" : 1, |
4d47f125 | 33124 | "description" : "Get status for all datastores.", |
44660702 DM |
33125 | "method" : "GET", |
33126 | "name" : "index", | |
33127 | "parameters" : { | |
33128 | "additionalProperties" : 0, | |
33129 | "properties" : { | |
4d47f125 TL |
33130 | "content" : { |
33131 | "description" : "Only list stores which support this content type.", | |
33132 | "format" : "pve-storage-content-list", | |
33133 | "optional" : 1, | |
33134 | "type" : "string", | |
33135 | "typetext" : "<string>" | |
33136 | }, | |
33137 | "enabled" : { | |
33138 | "default" : 0, | |
33139 | "description" : "Only list stores which are enabled (not disabled in config).", | |
33140 | "optional" : 1, | |
33141 | "type" : "boolean", | |
33142 | "typetext" : "<boolean>" | |
33143 | }, | |
33144 | "format" : { | |
33145 | "default" : 0, | |
33146 | "description" : "Include information about formats", | |
33147 | "optional" : 1, | |
33148 | "type" : "boolean", | |
33149 | "typetext" : "<boolean>" | |
33150 | }, | |
44660702 DM |
33151 | "node" : { |
33152 | "description" : "The cluster node name.", | |
33153 | "format" : "pve-node", | |
013dc89f DM |
33154 | "type" : "string", |
33155 | "typetext" : "<string>" | |
4d47f125 TL |
33156 | }, |
33157 | "storage" : { | |
33158 | "description" : "Only list status for specified storage", | |
33159 | "format" : "pve-storage-id", | |
33160 | "optional" : 1, | |
33161 | "type" : "string", | |
33162 | "typetext" : "<string>" | |
33163 | }, | |
33164 | "target" : { | |
33165 | "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.", | |
33166 | "format" : "pve-node", | |
33167 | "optional" : 1, | |
33168 | "type" : "string", | |
33169 | "typetext" : "<string>" | |
44660702 DM |
33170 | } |
33171 | } | |
33172 | }, | |
4d47f125 TL |
33173 | "permissions" : { |
33174 | "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'", | |
33175 | "user" : "all" | |
33176 | }, | |
33177 | "protected" : 1, | |
33178 | "proxyto" : "node", | |
33179 | "returns" : { | |
33180 | "items" : { | |
33181 | "properties" : { | |
33182 | "active" : { | |
33183 | "description" : "Set when storage is accessible.", | |
33184 | "optional" : 1, | |
33185 | "type" : "boolean" | |
33186 | }, | |
33187 | "avail" : { | |
33188 | "description" : "Available storage space in bytes.", | |
33189 | "optional" : 1, | |
33190 | "renderer" : "bytes", | |
33191 | "type" : "integer" | |
33192 | }, | |
33193 | "content" : { | |
33194 | "description" : "Allowed storage content types.", | |
33195 | "format" : "pve-storage-content-list", | |
33196 | "type" : "string" | |
33197 | }, | |
33198 | "enabled" : { | |
33199 | "description" : "Set when storage is enabled (not disabled).", | |
33200 | "optional" : 1, | |
33201 | "type" : "boolean" | |
33202 | }, | |
33203 | "shared" : { | |
33204 | "description" : "Shared flag from storage configuration.", | |
33205 | "optional" : 1, | |
33206 | "type" : "boolean" | |
33207 | }, | |
33208 | "storage" : { | |
33209 | "description" : "The storage identifier.", | |
33210 | "format" : "pve-storage-id", | |
33211 | "type" : "string" | |
33212 | }, | |
33213 | "total" : { | |
33214 | "description" : "Total storage space in bytes.", | |
33215 | "optional" : 1, | |
33216 | "renderer" : "bytes", | |
33217 | "type" : "integer" | |
33218 | }, | |
33219 | "type" : { | |
33220 | "description" : "Storage type.", | |
33221 | "type" : "string" | |
33222 | }, | |
33223 | "used" : { | |
33224 | "description" : "Used storage space in bytes.", | |
33225 | "optional" : 1, | |
33226 | "renderer" : "bytes", | |
33227 | "type" : "integer" | |
33228 | }, | |
33229 | "used_fraction" : { | |
33230 | "description" : "Used fraction (used/total).", | |
33231 | "optional" : 1, | |
33232 | "renderer" : "fraction_as_percentage", | |
33233 | "type" : "number" | |
7aacca6f | 33234 | } |
4d47f125 TL |
33235 | }, |
33236 | "type" : "object" | |
33237 | }, | |
33238 | "links" : [ | |
33239 | { | |
33240 | "href" : "{storage}", | |
33241 | "rel" : "child" | |
33242 | } | |
33243 | ], | |
33244 | "type" : "array" | |
33245 | } | |
33246 | } | |
33247 | }, | |
33248 | "leaf" : 0, | |
33249 | "path" : "/nodes/{node}/storage", | |
33250 | "text" : "storage" | |
33251 | }, | |
33252 | { | |
33253 | "children" : [ | |
33254 | { | |
33255 | "info" : { | |
33256 | "GET" : { | |
e9cd3bd4 | 33257 | "allowtoken" : 1, |
4d47f125 TL |
33258 | "description" : "List LVM Volume Groups", |
33259 | "method" : "GET", | |
33260 | "name" : "index", | |
33261 | "parameters" : { | |
33262 | "additionalProperties" : 0, | |
33263 | "properties" : { | |
33264 | "node" : { | |
33265 | "description" : "The cluster node name.", | |
33266 | "format" : "pve-node", | |
33267 | "type" : "string", | |
33268 | "typetext" : "<string>" | |
33269 | } | |
33270 | } | |
33271 | }, | |
33272 | "permissions" : { | |
33273 | "check" : [ | |
33274 | "perm", | |
33275 | "/", | |
33276 | [ | |
33277 | "Sys.Audit", | |
33278 | "Datastore.Audit" | |
33279 | ], | |
33280 | "any", | |
33281 | 1 | |
33282 | ] | |
33283 | }, | |
33284 | "protected" : 1, | |
33285 | "proxyto" : "node", | |
33286 | "returns" : { | |
33287 | "properties" : { | |
33288 | "children" : { | |
44660702 DM |
33289 | "items" : { |
33290 | "properties" : { | |
4d47f125 TL |
33291 | "children" : { |
33292 | "description" : "The underlying physical volumes", | |
33293 | "items" : { | |
33294 | "properties" : { | |
33295 | "free" : { | |
33296 | "description" : "The free bytes in the physical volume", | |
33297 | "type" : "integer" | |
33298 | }, | |
33299 | "leaf" : { | |
33300 | "type" : "boolean" | |
33301 | }, | |
33302 | "name" : { | |
33303 | "description" : "The name of the physical volume", | |
33304 | "type" : "string" | |
33305 | }, | |
33306 | "size" : { | |
33307 | "description" : "The size of the physical volume in bytes", | |
33308 | "type" : "integer" | |
33309 | } | |
33310 | }, | |
33311 | "type" : "object" | |
33312 | }, | |
33313 | "optional" : 1, | |
33314 | "type" : "array" | |
33315 | }, | |
33316 | "free" : { | |
33317 | "description" : "The free bytes in the volume group", | |
33318 | "type" : "integer" | |
33319 | }, | |
33320 | "leaf" : { | |
33321 | "type" : "boolean" | |
33322 | }, | |
33323 | "name" : { | |
33324 | "description" : "The name of the volume group", | |
44660702 | 33325 | "type" : "string" |
4d47f125 TL |
33326 | }, |
33327 | "size" : { | |
33328 | "description" : "The size of the volume group in bytes", | |
33329 | "type" : "integer" | |
44660702 DM |
33330 | } |
33331 | }, | |
33332 | "type" : "object" | |
33333 | }, | |
44660702 | 33334 | "type" : "array" |
4d47f125 TL |
33335 | }, |
33336 | "leaf" : { | |
33337 | "type" : "boolean" | |
44660702 DM |
33338 | } |
33339 | }, | |
4d47f125 TL |
33340 | "type" : "object" |
33341 | } | |
33342 | }, | |
33343 | "POST" : { | |
e9cd3bd4 | 33344 | "allowtoken" : 1, |
4d47f125 TL |
33345 | "description" : "Create an LVM Volume Group", |
33346 | "method" : "POST", | |
33347 | "name" : "create", | |
33348 | "parameters" : { | |
33349 | "additionalProperties" : 0, | |
33350 | "properties" : { | |
33351 | "add_storage" : { | |
33352 | "default" : 0, | |
33353 | "description" : "Configure storage using the Volume Group", | |
33354 | "optional" : 1, | |
33355 | "type" : "boolean", | |
33356 | "typetext" : "<boolean>" | |
44660702 | 33357 | }, |
4d47f125 TL |
33358 | "device" : { |
33359 | "description" : "The block device you want to create the volume group on", | |
33360 | "type" : "string", | |
33361 | "typetext" : "<string>" | |
44660702 | 33362 | }, |
4d47f125 TL |
33363 | "name" : { |
33364 | "description" : "The storage identifier.", | |
33365 | "format" : "pve-storage-id", | |
33366 | "type" : "string", | |
33367 | "typetext" : "<string>" | |
33368 | }, | |
33369 | "node" : { | |
33370 | "description" : "The cluster node name.", | |
33371 | "format" : "pve-node", | |
33372 | "type" : "string", | |
33373 | "typetext" : "<string>" | |
33374 | } | |
33375 | } | |
33376 | }, | |
33377 | "permissions" : { | |
33378 | "check" : [ | |
33379 | "perm", | |
33380 | "/", | |
33381 | [ | |
33382 | "Sys.Modify", | |
33383 | "Datastore.Allocate" | |
33384 | ] | |
33385 | ] | |
33386 | }, | |
33387 | "protected" : 1, | |
33388 | "proxyto" : "node", | |
33389 | "returns" : { | |
33390 | "type" : "string" | |
33391 | } | |
33392 | } | |
33393 | }, | |
33394 | "leaf" : 1, | |
33395 | "path" : "/nodes/{node}/disks/lvm", | |
33396 | "text" : "lvm" | |
33397 | }, | |
33398 | { | |
33399 | "info" : { | |
33400 | "GET" : { | |
e9cd3bd4 | 33401 | "allowtoken" : 1, |
4d47f125 TL |
33402 | "description" : "List LVM thinpools", |
33403 | "method" : "GET", | |
33404 | "name" : "index", | |
33405 | "parameters" : { | |
33406 | "additionalProperties" : 0, | |
33407 | "properties" : { | |
33408 | "node" : { | |
33409 | "description" : "The cluster node name.", | |
33410 | "format" : "pve-node", | |
33411 | "type" : "string", | |
33412 | "typetext" : "<string>" | |
44660702 DM |
33413 | } |
33414 | } | |
33415 | }, | |
4d47f125 TL |
33416 | "permissions" : { |
33417 | "check" : [ | |
33418 | "perm", | |
33419 | "/", | |
33420 | [ | |
33421 | "Sys.Audit", | |
33422 | "Datastore.Audit" | |
33423 | ], | |
33424 | "any", | |
33425 | 1 | |
33426 | ] | |
33427 | }, | |
33428 | "protected" : 1, | |
33429 | "proxyto" : "node", | |
33430 | "returns" : { | |
33431 | "items" : { | |
33432 | "properties" : { | |
33433 | "lv" : { | |
33434 | "description" : "The name of the thinpool.", | |
33435 | "type" : "string" | |
33436 | }, | |
33437 | "lv_size" : { | |
33438 | "description" : "The size of the thinpool in bytes.", | |
33439 | "type" : "integer" | |
33440 | }, | |
33441 | "metadata_size" : { | |
33442 | "description" : "The size of the metadata lv in bytes.", | |
33443 | "type" : "integer" | |
33444 | }, | |
33445 | "metadata_used" : { | |
33446 | "description" : "The used bytes of the metadata lv.", | |
33447 | "type" : "integer" | |
33448 | }, | |
33449 | "used" : { | |
33450 | "description" : "The used bytes of the thinpool.", | |
33451 | "type" : "integer" | |
44660702 DM |
33452 | } |
33453 | }, | |
4d47f125 TL |
33454 | "type" : "object" |
33455 | }, | |
33456 | "type" : "array" | |
33457 | } | |
33458 | }, | |
33459 | "POST" : { | |
e9cd3bd4 | 33460 | "allowtoken" : 1, |
4d47f125 TL |
33461 | "description" : "Create an LVM thinpool", |
33462 | "method" : "POST", | |
33463 | "name" : "create", | |
33464 | "parameters" : { | |
33465 | "additionalProperties" : 0, | |
33466 | "properties" : { | |
33467 | "add_storage" : { | |
33468 | "default" : 0, | |
33469 | "description" : "Configure storage using the thinpool.", | |
33470 | "optional" : 1, | |
33471 | "type" : "boolean", | |
33472 | "typetext" : "<boolean>" | |
56122987 | 33473 | }, |
4d47f125 TL |
33474 | "device" : { |
33475 | "description" : "The block device you want to create the thinpool on.", | |
33476 | "type" : "string", | |
33477 | "typetext" : "<string>" | |
33478 | }, | |
33479 | "name" : { | |
33480 | "description" : "The storage identifier.", | |
33481 | "format" : "pve-storage-id", | |
33482 | "type" : "string", | |
33483 | "typetext" : "<string>" | |
33484 | }, | |
33485 | "node" : { | |
33486 | "description" : "The cluster node name.", | |
33487 | "format" : "pve-node", | |
33488 | "type" : "string", | |
33489 | "typetext" : "<string>" | |
44660702 | 33490 | } |
56122987 DM |
33491 | } |
33492 | }, | |
4d47f125 TL |
33493 | "permissions" : { |
33494 | "check" : [ | |
33495 | "perm", | |
33496 | "/", | |
33497 | [ | |
33498 | "Sys.Modify", | |
33499 | "Datastore.Allocate" | |
33500 | ] | |
33501 | ] | |
33502 | }, | |
33503 | "protected" : 1, | |
33504 | "proxyto" : "node", | |
33505 | "returns" : { | |
33506 | "type" : "string" | |
33507 | } | |
33508 | } | |
33509 | }, | |
33510 | "leaf" : 1, | |
33511 | "path" : "/nodes/{node}/disks/lvmthin", | |
33512 | "text" : "lvmthin" | |
33513 | }, | |
33514 | { | |
33515 | "info" : { | |
33516 | "GET" : { | |
e9cd3bd4 | 33517 | "allowtoken" : 1, |
4d47f125 TL |
33518 | "description" : "PVE Managed Directory storages.", |
33519 | "method" : "GET", | |
33520 | "name" : "index", | |
33521 | "parameters" : { | |
33522 | "additionalProperties" : 0, | |
33523 | "properties" : { | |
33524 | "node" : { | |
33525 | "description" : "The cluster node name.", | |
33526 | "format" : "pve-node", | |
33527 | "type" : "string", | |
33528 | "typetext" : "<string>" | |
33529 | } | |
33530 | } | |
33531 | }, | |
33532 | "permissions" : { | |
33533 | "check" : [ | |
33534 | "perm", | |
33535 | "/", | |
33536 | [ | |
33537 | "Sys.Audit", | |
33538 | "Datastore.Audit" | |
33539 | ], | |
33540 | "any", | |
33541 | 1 | |
33542 | ] | |
33543 | }, | |
33544 | "protected" : 1, | |
33545 | "proxyto" : "node", | |
33546 | "returns" : { | |
33547 | "items" : { | |
33548 | "properties" : { | |
33549 | "device" : { | |
33550 | "description" : "The mounted device.", | |
33551 | "type" : "string" | |
33552 | }, | |
33553 | "options" : { | |
33554 | "description" : "The mount options.", | |
33555 | "type" : "string" | |
33556 | }, | |
33557 | "path" : { | |
33558 | "description" : "The mount path.", | |
33559 | "type" : "string" | |
33560 | }, | |
33561 | "type" : { | |
33562 | "description" : "The filesystem type.", | |
33563 | "type" : "string" | |
33564 | }, | |
33565 | "unitfile" : { | |
33566 | "description" : "The path of the mount unit.", | |
33567 | "type" : "string" | |
44660702 | 33568 | } |
56122987 | 33569 | }, |
4d47f125 TL |
33570 | "type" : "object" |
33571 | }, | |
33572 | "type" : "array" | |
33573 | } | |
33574 | }, | |
33575 | "POST" : { | |
e9cd3bd4 | 33576 | "allowtoken" : 1, |
4d47f125 TL |
33577 | "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.", |
33578 | "method" : "POST", | |
33579 | "name" : "create", | |
33580 | "parameters" : { | |
33581 | "additionalProperties" : 0, | |
33582 | "properties" : { | |
33583 | "add_storage" : { | |
33584 | "default" : 0, | |
33585 | "description" : "Configure storage using the directory.", | |
33586 | "optional" : 1, | |
33587 | "type" : "boolean", | |
33588 | "typetext" : "<boolean>" | |
33589 | }, | |
33590 | "device" : { | |
33591 | "description" : "The block device you want to create the filesystem on.", | |
33592 | "type" : "string", | |
33593 | "typetext" : "<string>" | |
33594 | }, | |
33595 | "filesystem" : { | |
33596 | "default" : "ext4", | |
33597 | "description" : "The desired filesystem.", | |
33598 | "enum" : [ | |
33599 | "ext4", | |
33600 | "xfs" | |
33601 | ], | |
33602 | "optional" : 1, | |
33603 | "type" : "string" | |
56122987 | 33604 | }, |
4d47f125 TL |
33605 | "name" : { |
33606 | "description" : "The storage identifier.", | |
33607 | "format" : "pve-storage-id", | |
33608 | "type" : "string", | |
33609 | "typetext" : "<string>" | |
33610 | }, | |
33611 | "node" : { | |
33612 | "description" : "The cluster node name.", | |
33613 | "format" : "pve-node", | |
33614 | "type" : "string", | |
33615 | "typetext" : "<string>" | |
7aacca6f | 33616 | } |
56122987 DM |
33617 | } |
33618 | }, | |
4d47f125 TL |
33619 | "permissions" : { |
33620 | "check" : [ | |
33621 | "perm", | |
33622 | "/", | |
33623 | [ | |
33624 | "Sys.Modify", | |
33625 | "Datastore.Allocate" | |
33626 | ] | |
33627 | ] | |
33628 | }, | |
33629 | "protected" : 1, | |
33630 | "proxyto" : "node", | |
33631 | "returns" : { | |
33632 | "type" : "string" | |
33633 | } | |
33634 | } | |
33635 | }, | |
33636 | "leaf" : 1, | |
33637 | "path" : "/nodes/{node}/disks/directory", | |
33638 | "text" : "directory" | |
33639 | }, | |
33640 | { | |
33641 | "children" : [ | |
56122987 | 33642 | { |
56122987 DM |
33643 | "info" : { |
33644 | "GET" : { | |
e9cd3bd4 | 33645 | "allowtoken" : 1, |
4d47f125 | 33646 | "description" : "Get details about a zpool.", |
44660702 | 33647 | "method" : "GET", |
4d47f125 | 33648 | "name" : "detail", |
56122987 | 33649 | "parameters" : { |
44660702 | 33650 | "additionalProperties" : 0, |
56122987 | 33651 | "properties" : { |
4d47f125 TL |
33652 | "name" : { |
33653 | "description" : "The storage identifier.", | |
33654 | "format" : "pve-storage-id", | |
33655 | "type" : "string", | |
33656 | "typetext" : "<string>" | |
44660702 | 33657 | }, |
7aacca6f | 33658 | "node" : { |
7aacca6f | 33659 | "description" : "The cluster node name.", |
44660702 | 33660 | "format" : "pve-node", |
013dc89f DM |
33661 | "type" : "string", |
33662 | "typetext" : "<string>" | |
56122987 | 33663 | } |
44660702 | 33664 | } |
7aacca6f | 33665 | }, |
7aacca6f DM |
33666 | "permissions" : { |
33667 | "check" : [ | |
33668 | "perm", | |
4d47f125 | 33669 | "/", |
7aacca6f | 33670 | [ |
4d47f125 TL |
33671 | "Sys.Audit", |
33672 | "Datastore.Audit" | |
7aacca6f DM |
33673 | ], |
33674 | "any", | |
33675 | 1 | |
33676 | ] | |
33677 | }, | |
44660702 DM |
33678 | "protected" : 1, |
33679 | "proxyto" : "node", | |
7aacca6f | 33680 | "returns" : { |
56122987 | 33681 | "properties" : { |
4d47f125 TL |
33682 | "action" : { |
33683 | "description" : "Information about the recommended action to fix the state.", | |
33684 | "optional" : 1, | |
33685 | "type" : "string" | |
56122987 | 33686 | }, |
4d47f125 | 33687 | "children" : { |
e2d681b3 | 33688 | "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.", |
4d47f125 TL |
33689 | "items" : { |
33690 | "properties" : { | |
33691 | "cksum" : { | |
e2d681b3 | 33692 | "optional" : 1, |
4d47f125 TL |
33693 | "type" : "number" |
33694 | }, | |
33695 | "msg" : { | |
33696 | "description" : "An optional message about the vdev.", | |
33697 | "type" : "string" | |
33698 | }, | |
33699 | "name" : { | |
e2d681b3 | 33700 | "description" : "The name of the vdev or section.", |
4d47f125 TL |
33701 | "type" : "string" |
33702 | }, | |
33703 | "read" : { | |
e2d681b3 | 33704 | "optional" : 1, |
4d47f125 TL |
33705 | "type" : "number" |
33706 | }, | |
33707 | "state" : { | |
33708 | "description" : "The state of the vdev.", | |
e2d681b3 | 33709 | "optional" : 1, |
4d47f125 TL |
33710 | "type" : "string" |
33711 | }, | |
33712 | "write" : { | |
e2d681b3 | 33713 | "optional" : 1, |
4d47f125 TL |
33714 | "type" : "number" |
33715 | } | |
33716 | }, | |
33717 | "type" : "object" | |
33718 | }, | |
33719 | "type" : "array" | |
56122987 | 33720 | }, |
e2d681b3 TL |
33721 | "errors" : { |
33722 | "description" : "Information about the errors on the zpool.", | |
33723 | "type" : "string" | |
33724 | }, | |
4d47f125 TL |
33725 | "name" : { |
33726 | "description" : "The name of the zpool.", | |
33727 | "type" : "string" | |
44660702 | 33728 | }, |
4d47f125 | 33729 | "scan" : { |
e2d681b3 | 33730 | "description" : "Information about the last/current scrub.", |
4d47f125 | 33731 | "type" : "string" |
44660702 | 33732 | }, |
4d47f125 TL |
33733 | "state" : { |
33734 | "description" : "The state of the zpool.", | |
33735 | "type" : "string" | |
33736 | }, | |
33737 | "status" : { | |
33738 | "description" : "Information about the state of the zpool.", | |
44660702 | 33739 | "optional" : 1, |
4d47f125 | 33740 | "type" : "string" |
56122987 | 33741 | } |
4d47f125 TL |
33742 | }, |
33743 | "type" : "object" | |
44660702 DM |
33744 | } |
33745 | } | |
33746 | }, | |
33747 | "leaf" : 1, | |
4d47f125 TL |
33748 | "path" : "/nodes/{node}/disks/zfs/{name}", |
33749 | "text" : "{name}" | |
44660702 DM |
33750 | } |
33751 | ], | |
33752 | "info" : { | |
33753 | "GET" : { | |
e9cd3bd4 | 33754 | "allowtoken" : 1, |
4d47f125 | 33755 | "description" : "List Zpools.", |
44660702 | 33756 | "method" : "GET", |
4d47f125 | 33757 | "name" : "index", |
44660702 DM |
33758 | "parameters" : { |
33759 | "additionalProperties" : 0, | |
33760 | "properties" : { | |
33761 | "node" : { | |
33762 | "description" : "The cluster node name.", | |
33763 | "format" : "pve-node", | |
013dc89f DM |
33764 | "type" : "string", |
33765 | "typetext" : "<string>" | |
4d47f125 TL |
33766 | } |
33767 | } | |
33768 | }, | |
33769 | "permissions" : { | |
33770 | "check" : [ | |
33771 | "perm", | |
33772 | "/", | |
33773 | [ | |
33774 | "Sys.Audit", | |
33775 | "Datastore.Audit" | |
33776 | ], | |
33777 | "any", | |
33778 | 1 | |
33779 | ] | |
33780 | }, | |
33781 | "protected" : 1, | |
33782 | "proxyto" : "node", | |
33783 | "returns" : { | |
33784 | "items" : { | |
33785 | "properties" : { | |
33786 | "alloc" : { | |
33787 | "description" : "", | |
33788 | "type" : "integer" | |
33789 | }, | |
33790 | "dedup" : { | |
33791 | "description" : "", | |
33792 | "type" : "number" | |
33793 | }, | |
33794 | "frag" : { | |
33795 | "description" : "", | |
33796 | "type" : "integer" | |
33797 | }, | |
33798 | "free" : { | |
33799 | "description" : "", | |
33800 | "type" : "integer" | |
33801 | }, | |
33802 | "health" : { | |
33803 | "description" : "", | |
33804 | "type" : "string" | |
33805 | }, | |
33806 | "name" : { | |
33807 | "description" : "", | |
33808 | "type" : "string" | |
33809 | }, | |
33810 | "size" : { | |
33811 | "description" : "", | |
33812 | "type" : "integer" | |
33813 | } | |
33814 | }, | |
33815 | "type" : "object" | |
33816 | }, | |
33817 | "links" : [ | |
33818 | { | |
33819 | "href" : "{name}", | |
33820 | "rel" : "child" | |
33821 | } | |
33822 | ], | |
33823 | "type" : "array" | |
33824 | } | |
33825 | }, | |
33826 | "POST" : { | |
e9cd3bd4 | 33827 | "allowtoken" : 1, |
4d47f125 TL |
33828 | "description" : "Create a ZFS pool.", |
33829 | "method" : "POST", | |
33830 | "name" : "create", | |
33831 | "parameters" : { | |
33832 | "additionalProperties" : 0, | |
33833 | "properties" : { | |
33834 | "add_storage" : { | |
33835 | "default" : 0, | |
33836 | "description" : "Configure storage using the zpool.", | |
33837 | "optional" : 1, | |
33838 | "type" : "boolean", | |
33839 | "typetext" : "<boolean>" | |
33840 | }, | |
33841 | "ashift" : { | |
33842 | "default" : 12, | |
33843 | "description" : "Pool sector size exponent.", | |
33844 | "maximum" : 16, | |
33845 | "minimum" : 9, | |
33846 | "optional" : 1, | |
33847 | "type" : "integer", | |
33848 | "typetext" : "<integer> (9 - 16)" | |
33849 | }, | |
33850 | "compression" : { | |
33851 | "default" : "on", | |
33852 | "description" : "The compression algorithm to use.", | |
33853 | "enum" : [ | |
33854 | "on", | |
33855 | "off", | |
33856 | "gzip", | |
33857 | "lz4", | |
33858 | "lzjb", | |
33859 | "zle" | |
33860 | ], | |
33861 | "optional" : 1, | |
33862 | "type" : "string" | |
33863 | }, | |
33864 | "devices" : { | |
33865 | "description" : "The block devices you want to create the zpool on.", | |
33866 | "format" : "string-list", | |
33867 | "type" : "string", | |
33868 | "typetext" : "<string>" | |
44660702 | 33869 | }, |
4d47f125 | 33870 | "name" : { |
44660702 DM |
33871 | "description" : "The storage identifier.", |
33872 | "format" : "pve-storage-id", | |
013dc89f DM |
33873 | "type" : "string", |
33874 | "typetext" : "<string>" | |
4d47f125 TL |
33875 | }, |
33876 | "node" : { | |
33877 | "description" : "The cluster node name.", | |
33878 | "format" : "pve-node", | |
33879 | "type" : "string", | |
33880 | "typetext" : "<string>" | |
33881 | }, | |
33882 | "raidlevel" : { | |
33883 | "description" : "The RAID level to use.", | |
33884 | "enum" : [ | |
33885 | "single", | |
33886 | "mirror", | |
33887 | "raid10", | |
33888 | "raidz", | |
33889 | "raidz2", | |
33890 | "raidz3" | |
33891 | ], | |
33892 | "type" : "string" | |
56122987 DM |
33893 | } |
33894 | } | |
44660702 DM |
33895 | }, |
33896 | "permissions" : { | |
33897 | "check" : [ | |
33898 | "perm", | |
4d47f125 | 33899 | "/", |
44660702 | 33900 | [ |
4d47f125 TL |
33901 | "Sys.Modify", |
33902 | "Datastore.Allocate" | |
33903 | ] | |
44660702 DM |
33904 | ] |
33905 | }, | |
4d47f125 TL |
33906 | "protected" : 1, |
33907 | "proxyto" : "node", | |
44660702 | 33908 | "returns" : { |
4d47f125 | 33909 | "type" : "string" |
56122987 DM |
33910 | } |
33911 | } | |
44660702 DM |
33912 | }, |
33913 | "leaf" : 0, | |
4d47f125 TL |
33914 | "path" : "/nodes/{node}/disks/zfs", |
33915 | "text" : "zfs" | |
33916 | }, | |
2c0dde61 DM |
33917 | { |
33918 | "info" : { | |
33919 | "GET" : { | |
e9cd3bd4 | 33920 | "allowtoken" : 1, |
2c0dde61 DM |
33921 | "description" : "List local disks.", |
33922 | "method" : "GET", | |
33923 | "name" : "list", | |
33924 | "parameters" : { | |
33925 | "additionalProperties" : 0, | |
33926 | "properties" : { | |
33927 | "node" : { | |
33928 | "description" : "The cluster node name.", | |
33929 | "format" : "pve-node", | |
013dc89f DM |
33930 | "type" : "string", |
33931 | "typetext" : "<string>" | |
4d47f125 TL |
33932 | }, |
33933 | "skipsmart" : { | |
33934 | "default" : 0, | |
33935 | "description" : "Skip smart checks.", | |
33936 | "optional" : 1, | |
33937 | "type" : "boolean", | |
33938 | "typetext" : "<boolean>" | |
33939 | }, | |
33940 | "type" : { | |
33941 | "description" : "Only list specific types of disks.", | |
33942 | "enum" : [ | |
33943 | "unused", | |
33944 | "journal_disks" | |
33945 | ], | |
33946 | "optional" : 1, | |
33947 | "type" : "string" | |
2c0dde61 DM |
33948 | } |
33949 | } | |
33950 | }, | |
33951 | "permissions" : { | |
33952 | "check" : [ | |
33953 | "perm", | |
33954 | "/", | |
33955 | [ | |
33956 | "Sys.Audit", | |
33957 | "Datastore.Audit" | |
33958 | ], | |
33959 | "any", | |
33960 | 1 | |
33961 | ] | |
33962 | }, | |
33963 | "protected" : 1, | |
33964 | "proxyto" : "node", | |
33965 | "returns" : { | |
33966 | "items" : { | |
33967 | "properties" : { | |
33968 | "devpath" : { | |
33969 | "description" : "The device path", | |
33970 | "type" : "string" | |
33971 | }, | |
33972 | "gpt" : { | |
33973 | "type" : "boolean" | |
33974 | }, | |
33975 | "health" : { | |
33976 | "optional" : 1, | |
33977 | "type" : "string" | |
33978 | }, | |
33979 | "model" : { | |
33980 | "optional" : 1, | |
33981 | "type" : "string" | |
33982 | }, | |
33983 | "osdid" : { | |
33984 | "type" : "integer" | |
33985 | }, | |
33986 | "serial" : { | |
33987 | "optional" : 1, | |
33988 | "type" : "string" | |
33989 | }, | |
33990 | "size" : { | |
33991 | "type" : "integer" | |
33992 | }, | |
33993 | "used" : { | |
33994 | "optional" : 1, | |
33995 | "type" : "string" | |
33996 | }, | |
33997 | "vendor" : { | |
33998 | "optional" : 1, | |
33999 | "type" : "string" | |
34000 | }, | |
34001 | "wwn" : { | |
34002 | "optional" : 1, | |
34003 | "type" : "string" | |
34004 | } | |
34005 | }, | |
34006 | "type" : "object" | |
34007 | }, | |
34008 | "type" : "array" | |
34009 | } | |
34010 | } | |
34011 | }, | |
34012 | "leaf" : 1, | |
34013 | "path" : "/nodes/{node}/disks/list", | |
34014 | "text" : "list" | |
34015 | }, | |
34016 | { | |
34017 | "info" : { | |
34018 | "GET" : { | |
e9cd3bd4 | 34019 | "allowtoken" : 1, |
2c0dde61 DM |
34020 | "description" : "Get SMART Health of a disk.", |
34021 | "method" : "GET", | |
34022 | "name" : "smart", | |
34023 | "parameters" : { | |
34024 | "additionalProperties" : 0, | |
34025 | "properties" : { | |
34026 | "disk" : { | |
34027 | "description" : "Block device name", | |
34028 | "pattern" : "^/dev/[a-zA-Z0-9\\/]+$", | |
34029 | "type" : "string" | |
34030 | }, | |
34031 | "healthonly" : { | |
34032 | "description" : "If true returns only the health status", | |
34033 | "optional" : 1, | |
013dc89f DM |
34034 | "type" : "boolean", |
34035 | "typetext" : "<boolean>" | |
2c0dde61 DM |
34036 | }, |
34037 | "node" : { | |
34038 | "description" : "The cluster node name.", | |
34039 | "format" : "pve-node", | |
013dc89f DM |
34040 | "type" : "string", |
34041 | "typetext" : "<string>" | |
2c0dde61 DM |
34042 | } |
34043 | } | |
34044 | }, | |
34045 | "permissions" : { | |
34046 | "check" : [ | |
34047 | "perm", | |
34048 | "/", | |
34049 | [ | |
34050 | "Sys.Audit", | |
34051 | "Datastore.Audit" | |
34052 | ], | |
34053 | "any", | |
34054 | 1 | |
34055 | ] | |
34056 | }, | |
34057 | "protected" : 1, | |
34058 | "proxyto" : "node", | |
34059 | "returns" : { | |
de0983cb DM |
34060 | "properties" : { |
34061 | "attributes" : { | |
34062 | "optional" : 1, | |
34063 | "type" : "array" | |
34064 | }, | |
34065 | "health" : { | |
34066 | "type" : "string" | |
34067 | }, | |
34068 | "text" : { | |
34069 | "optional" : 1, | |
34070 | "type" : "string" | |
34071 | }, | |
34072 | "type" : { | |
34073 | "optional" : 1, | |
34074 | "type" : "string" | |
34075 | } | |
34076 | }, | |
2c0dde61 DM |
34077 | "type" : "object" |
34078 | } | |
34079 | } | |
34080 | }, | |
34081 | "leaf" : 1, | |
34082 | "path" : "/nodes/{node}/disks/smart", | |
34083 | "text" : "smart" | |
34084 | }, | |
34085 | { | |
34086 | "info" : { | |
34087 | "POST" : { | |
e9cd3bd4 | 34088 | "allowtoken" : 1, |
2c0dde61 DM |
34089 | "description" : "Initialize Disk with GPT", |
34090 | "method" : "POST", | |
34091 | "name" : "initgpt", | |
34092 | "parameters" : { | |
34093 | "additionalProperties" : 0, | |
34094 | "properties" : { | |
34095 | "disk" : { | |
34096 | "description" : "Block device name", | |
34097 | "pattern" : "^/dev/[a-zA-Z0-9\\/]+$", | |
34098 | "type" : "string" | |
34099 | }, | |
34100 | "node" : { | |
34101 | "description" : "The cluster node name.", | |
34102 | "format" : "pve-node", | |
013dc89f DM |
34103 | "type" : "string", |
34104 | "typetext" : "<string>" | |
2c0dde61 DM |
34105 | }, |
34106 | "uuid" : { | |
34107 | "description" : "UUID for the GPT table", | |
34108 | "maxLength" : 36, | |
34109 | "optional" : 1, | |
34110 | "pattern" : "[a-fA-F0-9\\-]+", | |
34111 | "type" : "string" | |
34112 | } | |
34113 | } | |
34114 | }, | |
34115 | "permissions" : { | |
34116 | "check" : [ | |
34117 | "perm", | |
34118 | "/", | |
34119 | [ | |
34120 | "Sys.Modify" | |
34121 | ] | |
34122 | ] | |
34123 | }, | |
34124 | "protected" : 1, | |
34125 | "proxyto" : "node", | |
34126 | "returns" : { | |
34127 | "type" : "string" | |
34128 | } | |
34129 | } | |
34130 | }, | |
34131 | "leaf" : 1, | |
34132 | "path" : "/nodes/{node}/disks/initgpt", | |
34133 | "text" : "initgpt" | |
34134 | } | |
34135 | ], | |
34136 | "info" : { | |
34137 | "GET" : { | |
e9cd3bd4 | 34138 | "allowtoken" : 1, |
2c0dde61 DM |
34139 | "description" : "Node index.", |
34140 | "method" : "GET", | |
34141 | "name" : "index", | |
34142 | "parameters" : { | |
34143 | "additionalProperties" : 0, | |
34144 | "properties" : { | |
34145 | "node" : { | |
34146 | "description" : "The cluster node name.", | |
34147 | "format" : "pve-node", | |
013dc89f DM |
34148 | "type" : "string", |
34149 | "typetext" : "<string>" | |
2c0dde61 DM |
34150 | } |
34151 | } | |
34152 | }, | |
34153 | "permissions" : { | |
34154 | "user" : "all" | |
34155 | }, | |
34156 | "proxyto" : "node", | |
34157 | "returns" : { | |
34158 | "items" : { | |
34159 | "properties" : {}, | |
34160 | "type" : "object" | |
34161 | }, | |
34162 | "links" : [ | |
34163 | { | |
34164 | "href" : "{name}", | |
34165 | "rel" : "child" | |
34166 | } | |
34167 | ], | |
34168 | "type" : "array" | |
34169 | } | |
34170 | } | |
34171 | }, | |
34172 | "leaf" : 0, | |
34173 | "path" : "/nodes/{node}/disks", | |
34174 | "text" : "disks" | |
34175 | }, | |
56122987 | 34176 | { |
56122987 DM |
34177 | "children" : [ |
34178 | { | |
34179 | "info" : { | |
44660702 | 34180 | "GET" : { |
e9cd3bd4 | 34181 | "allowtoken" : 1, |
44660702 DM |
34182 | "description" : "List available updates.", |
34183 | "method" : "GET", | |
34184 | "name" : "list_updates", | |
34185 | "parameters" : { | |
34186 | "additionalProperties" : 0, | |
34187 | "properties" : { | |
34188 | "node" : { | |
34189 | "description" : "The cluster node name.", | |
34190 | "format" : "pve-node", | |
013dc89f DM |
34191 | "type" : "string", |
34192 | "typetext" : "<string>" | |
44660702 DM |
34193 | } |
34194 | } | |
7aacca6f DM |
34195 | }, |
34196 | "permissions" : { | |
34197 | "check" : [ | |
34198 | "perm", | |
34199 | "/nodes/{node}", | |
34200 | [ | |
34201 | "Sys.Modify" | |
34202 | ] | |
34203 | ] | |
34204 | }, | |
44660702 | 34205 | "protected" : 1, |
56122987 | 34206 | "proxyto" : "node", |
44660702 DM |
34207 | "returns" : { |
34208 | "items" : { | |
34209 | "properties" : {}, | |
34210 | "type" : "object" | |
34211 | }, | |
34212 | "type" : "array" | |
34213 | } | |
34214 | }, | |
34215 | "POST" : { | |
e9cd3bd4 | 34216 | "allowtoken" : 1, |
44660702 | 34217 | "description" : "This is used to resynchronize the package index files from their sources (apt-get update).", |
7aacca6f DM |
34218 | "method" : "POST", |
34219 | "name" : "update_database", | |
56122987 DM |
34220 | "parameters" : { |
34221 | "additionalProperties" : 0, | |
34222 | "properties" : { | |
44660702 DM |
34223 | "node" : { |
34224 | "description" : "The cluster node name.", | |
34225 | "format" : "pve-node", | |
013dc89f DM |
34226 | "type" : "string", |
34227 | "typetext" : "<string>" | |
44660702 | 34228 | }, |
56122987 | 34229 | "notify" : { |
56122987 | 34230 | "default" : 0, |
44660702 DM |
34231 | "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').", |
34232 | "optional" : 1, | |
013dc89f DM |
34233 | "type" : "boolean", |
34234 | "typetext" : "<boolean>" | |
56122987 DM |
34235 | }, |
34236 | "quiet" : { | |
56122987 | 34237 | "default" : 0, |
44660702 | 34238 | "description" : "Only produces output suitable for logging, omitting progress indicators.", |
56122987 | 34239 | "optional" : 1, |
013dc89f DM |
34240 | "type" : "boolean", |
34241 | "typetext" : "<boolean>" | |
56122987 | 34242 | } |
7aacca6f DM |
34243 | } |
34244 | }, | |
34245 | "permissions" : { | |
34246 | "check" : [ | |
34247 | "perm", | |
34248 | "/nodes/{node}", | |
34249 | [ | |
34250 | "Sys.Modify" | |
34251 | ] | |
34252 | ] | |
34253 | }, | |
44660702 DM |
34254 | "protected" : 1, |
34255 | "proxyto" : "node", | |
34256 | "returns" : { | |
34257 | "type" : "string" | |
34258 | } | |
56122987 DM |
34259 | } |
34260 | }, | |
7aacca6f | 34261 | "leaf" : 1, |
44660702 DM |
34262 | "path" : "/nodes/{node}/apt/update", |
34263 | "text" : "update" | |
56122987 DM |
34264 | }, |
34265 | { | |
56122987 DM |
34266 | "info" : { |
34267 | "GET" : { | |
e9cd3bd4 | 34268 | "allowtoken" : 1, |
44660702 | 34269 | "description" : "Get package changelogs.", |
56122987 | 34270 | "method" : "GET", |
7aacca6f | 34271 | "name" : "changelog", |
56122987 | 34272 | "parameters" : { |
44660702 | 34273 | "additionalProperties" : 0, |
56122987 DM |
34274 | "properties" : { |
34275 | "name" : { | |
34276 | "description" : "Package name.", | |
013dc89f DM |
34277 | "type" : "string", |
34278 | "typetext" : "<string>" | |
56122987 | 34279 | }, |
44660702 DM |
34280 | "node" : { |
34281 | "description" : "The cluster node name.", | |
34282 | "format" : "pve-node", | |
013dc89f DM |
34283 | "type" : "string", |
34284 | "typetext" : "<string>" | |
44660702 | 34285 | }, |
56122987 | 34286 | "version" : { |
7aacca6f | 34287 | "description" : "Package version.", |
44660702 | 34288 | "optional" : 1, |
013dc89f DM |
34289 | "type" : "string", |
34290 | "typetext" : "<string>" | |
56122987 | 34291 | } |
44660702 | 34292 | } |
56122987 | 34293 | }, |
44660702 DM |
34294 | "permissions" : { |
34295 | "check" : [ | |
34296 | "perm", | |
34297 | "/nodes/{node}", | |
34298 | [ | |
34299 | "Sys.Modify" | |
34300 | ] | |
34301 | ] | |
34302 | }, | |
34303 | "proxyto" : "node", | |
34304 | "returns" : { | |
34305 | "type" : "string" | |
34306 | } | |
56122987 DM |
34307 | } |
34308 | }, | |
44660702 DM |
34309 | "leaf" : 1, |
34310 | "path" : "/nodes/{node}/apt/changelog", | |
7aacca6f | 34311 | "text" : "changelog" |
56122987 DM |
34312 | }, |
34313 | { | |
56122987 DM |
34314 | "info" : { |
34315 | "GET" : { | |
e9cd3bd4 | 34316 | "allowtoken" : 1, |
44660702 DM |
34317 | "description" : "Get package information for important Proxmox packages.", |
34318 | "method" : "GET", | |
7aacca6f DM |
34319 | "name" : "versions", |
34320 | "parameters" : { | |
44660702 | 34321 | "additionalProperties" : 0, |
7aacca6f DM |
34322 | "properties" : { |
34323 | "node" : { | |
44660702 | 34324 | "description" : "The cluster node name.", |
7aacca6f | 34325 | "format" : "pve-node", |
013dc89f DM |
34326 | "type" : "string", |
34327 | "typetext" : "<string>" | |
7aacca6f | 34328 | } |
44660702 | 34329 | } |
7aacca6f | 34330 | }, |
56122987 DM |
34331 | "permissions" : { |
34332 | "check" : [ | |
34333 | "perm", | |
34334 | "/nodes/{node}", | |
34335 | [ | |
34336 | "Sys.Audit" | |
34337 | ] | |
34338 | ] | |
34339 | }, | |
7aacca6f | 34340 | "proxyto" : "node", |
56122987 DM |
34341 | "returns" : { |
34342 | "items" : { | |
7aacca6f DM |
34343 | "properties" : {}, |
34344 | "type" : "object" | |
44660702 DM |
34345 | }, |
34346 | "type" : "array" | |
56122987 DM |
34347 | } |
34348 | } | |
34349 | }, | |
44660702 | 34350 | "leaf" : 1, |
7aacca6f | 34351 | "path" : "/nodes/{node}/apt/versions", |
44660702 | 34352 | "text" : "versions" |
56122987 DM |
34353 | } |
34354 | ], | |
56122987 DM |
34355 | "info" : { |
34356 | "GET" : { | |
e9cd3bd4 | 34357 | "allowtoken" : 1, |
44660702 | 34358 | "description" : "Directory index for apt (Advanced Package Tool).", |
7aacca6f | 34359 | "method" : "GET", |
44660702 | 34360 | "name" : "index", |
7aacca6f DM |
34361 | "parameters" : { |
34362 | "additionalProperties" : 0, | |
34363 | "properties" : { | |
34364 | "node" : { | |
44660702 | 34365 | "description" : "The cluster node name.", |
7aacca6f | 34366 | "format" : "pve-node", |
013dc89f DM |
34367 | "type" : "string", |
34368 | "typetext" : "<string>" | |
7aacca6f DM |
34369 | } |
34370 | } | |
34371 | }, | |
7aacca6f DM |
34372 | "permissions" : { |
34373 | "user" : "all" | |
34374 | }, | |
44660702 DM |
34375 | "returns" : { |
34376 | "items" : { | |
34377 | "properties" : { | |
34378 | "id" : { | |
34379 | "type" : "string" | |
34380 | } | |
34381 | }, | |
34382 | "type" : "object" | |
34383 | }, | |
34384 | "links" : [ | |
34385 | { | |
34386 | "href" : "{id}", | |
34387 | "rel" : "child" | |
34388 | } | |
34389 | ], | |
34390 | "type" : "array" | |
34391 | } | |
56122987 | 34392 | } |
7aacca6f | 34393 | }, |
44660702 | 34394 | "leaf" : 0, |
7aacca6f | 34395 | "path" : "/nodes/{node}/apt", |
44660702 | 34396 | "text" : "apt" |
56122987 DM |
34397 | }, |
34398 | { | |
56122987 DM |
34399 | "children" : [ |
34400 | { | |
34401 | "children" : [ | |
34402 | { | |
56122987 DM |
34403 | "info" : { |
34404 | "DELETE" : { | |
e9cd3bd4 | 34405 | "allowtoken" : 1, |
44660702 | 34406 | "description" : "Delete rule.", |
7aacca6f | 34407 | "method" : "DELETE", |
44660702 | 34408 | "name" : "delete_rule", |
56122987 DM |
34409 | "parameters" : { |
34410 | "additionalProperties" : 0, | |
34411 | "properties" : { | |
56122987 DM |
34412 | "digest" : { |
34413 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 34414 | "maxLength" : 40, |
56122987 | 34415 | "optional" : 1, |
013dc89f DM |
34416 | "type" : "string", |
34417 | "typetext" : "<string>" | |
56122987 | 34418 | }, |
44660702 DM |
34419 | "node" : { |
34420 | "description" : "The cluster node name.", | |
34421 | "format" : "pve-node", | |
013dc89f DM |
34422 | "type" : "string", |
34423 | "typetext" : "<string>" | |
44660702 | 34424 | }, |
7aacca6f | 34425 | "pos" : { |
7aacca6f | 34426 | "description" : "Update rule at position <pos>.", |
44660702 DM |
34427 | "minimum" : 0, |
34428 | "optional" : 1, | |
4bd7df8b | 34429 | "type" : "integer", |
013dc89f | 34430 | "typetext" : "<integer> (0 - N)" |
56122987 DM |
34431 | } |
34432 | } | |
34433 | }, | |
44660702 DM |
34434 | "permissions" : { |
34435 | "check" : [ | |
34436 | "perm", | |
34437 | "/nodes/{node}", | |
34438 | [ | |
34439 | "Sys.Modify" | |
34440 | ] | |
34441 | ] | |
34442 | }, | |
34443 | "protected" : 1, | |
34444 | "proxyto" : "node", | |
56122987 DM |
34445 | "returns" : { |
34446 | "type" : "null" | |
44660702 DM |
34447 | } |
34448 | }, | |
34449 | "GET" : { | |
e9cd3bd4 | 34450 | "allowtoken" : 1, |
44660702 DM |
34451 | "description" : "Get single rule data.", |
34452 | "method" : "GET", | |
34453 | "name" : "get_rule", | |
34454 | "parameters" : { | |
34455 | "additionalProperties" : 0, | |
34456 | "properties" : { | |
34457 | "node" : { | |
34458 | "description" : "The cluster node name.", | |
34459 | "format" : "pve-node", | |
013dc89f DM |
34460 | "type" : "string", |
34461 | "typetext" : "<string>" | |
44660702 DM |
34462 | }, |
34463 | "pos" : { | |
34464 | "description" : "Update rule at position <pos>.", | |
34465 | "minimum" : 0, | |
34466 | "optional" : 1, | |
4bd7df8b | 34467 | "type" : "integer", |
013dc89f | 34468 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
34469 | } |
34470 | } | |
56122987 | 34471 | }, |
56122987 DM |
34472 | "permissions" : { |
34473 | "check" : [ | |
34474 | "perm", | |
34475 | "/nodes/{node}", | |
34476 | [ | |
44660702 | 34477 | "Sys.Audit" |
56122987 DM |
34478 | ] |
34479 | ] | |
44660702 DM |
34480 | }, |
34481 | "proxyto" : "node", | |
34482 | "returns" : { | |
34483 | "properties" : { | |
e2d681b3 TL |
34484 | "action" : { |
34485 | "type" : "string" | |
34486 | }, | |
34487 | "comment" : { | |
34488 | "optional" : 1, | |
34489 | "type" : "string" | |
34490 | }, | |
34491 | "dest" : { | |
34492 | "optional" : 1, | |
34493 | "type" : "string" | |
34494 | }, | |
34495 | "dport" : { | |
34496 | "optional" : 1, | |
34497 | "type" : "string" | |
34498 | }, | |
34499 | "enable" : { | |
34500 | "optional" : 1, | |
34501 | "type" : "integer" | |
34502 | }, | |
34503 | "iface" : { | |
34504 | "optional" : 1, | |
34505 | "type" : "string" | |
34506 | }, | |
34507 | "ipversion" : { | |
34508 | "optional" : 1, | |
34509 | "type" : "integer" | |
34510 | }, | |
95895385 TL |
34511 | "log" : { |
34512 | "description" : "Log level for firewall rule", | |
34513 | "enum" : [ | |
34514 | "emerg", | |
34515 | "alert", | |
34516 | "crit", | |
34517 | "err", | |
34518 | "warning", | |
34519 | "notice", | |
34520 | "info", | |
34521 | "debug", | |
34522 | "nolog" | |
34523 | ], | |
34524 | "optional" : 1, | |
34525 | "type" : "string" | |
34526 | }, | |
e2d681b3 TL |
34527 | "macro" : { |
34528 | "optional" : 1, | |
5f26e15b | 34529 | "type" : "string" |
e2d681b3 | 34530 | }, |
44660702 DM |
34531 | "pos" : { |
34532 | "type" : "integer" | |
e2d681b3 TL |
34533 | }, |
34534 | "proto" : { | |
34535 | "optional" : 1, | |
34536 | "type" : "string" | |
34537 | }, | |
34538 | "source" : { | |
34539 | "optional" : 1, | |
34540 | "type" : "string" | |
34541 | }, | |
34542 | "sport" : { | |
34543 | "optional" : 1, | |
34544 | "type" : "string" | |
34545 | }, | |
34546 | "type" : { | |
34547 | "type" : "string" | |
44660702 DM |
34548 | } |
34549 | }, | |
34550 | "type" : "object" | |
7aacca6f | 34551 | } |
56122987 DM |
34552 | }, |
34553 | "PUT" : { | |
e9cd3bd4 | 34554 | "allowtoken" : 1, |
44660702 DM |
34555 | "description" : "Modify rule data.", |
34556 | "method" : "PUT", | |
56122987 | 34557 | "name" : "update_rule", |
56122987 | 34558 | "parameters" : { |
44660702 | 34559 | "additionalProperties" : 0, |
56122987 | 34560 | "properties" : { |
44660702 DM |
34561 | "action" : { |
34562 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
34563 | "maxLength" : 20, | |
34564 | "minLength" : 2, | |
56122987 | 34565 | "optional" : 1, |
44660702 DM |
34566 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
34567 | "type" : "string" | |
56122987 | 34568 | }, |
7aacca6f | 34569 | "comment" : { |
e94f0d56 | 34570 | "description" : "Descriptive comment.", |
56122987 | 34571 | "optional" : 1, |
013dc89f DM |
34572 | "type" : "string", |
34573 | "typetext" : "<string>" | |
56122987 | 34574 | }, |
44660702 DM |
34575 | "delete" : { |
34576 | "description" : "A list of settings you want to delete.", | |
34577 | "format" : "pve-configid-list", | |
56122987 | 34578 | "optional" : 1, |
013dc89f DM |
34579 | "type" : "string", |
34580 | "typetext" : "<string>" | |
56122987 | 34581 | }, |
44660702 DM |
34582 | "dest" : { |
34583 | "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.", | |
34584 | "format" : "pve-fw-addr-spec", | |
56122987 | 34585 | "optional" : 1, |
013dc89f DM |
34586 | "type" : "string", |
34587 | "typetext" : "<string>" | |
56122987 | 34588 | }, |
44660702 DM |
34589 | "digest" : { |
34590 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
34591 | "maxLength" : 40, | |
56122987 | 34592 | "optional" : 1, |
013dc89f DM |
34593 | "type" : "string", |
34594 | "typetext" : "<string>" | |
56122987 | 34595 | }, |
7aacca6f | 34596 | "dport" : { |
7aacca6f | 34597 | "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 |
34598 | "format" : "pve-fw-dport-spec", |
34599 | "optional" : 1, | |
013dc89f DM |
34600 | "type" : "string", |
34601 | "typetext" : "<string>" | |
7aacca6f | 34602 | }, |
44660702 | 34603 | "enable" : { |
e94f0d56 | 34604 | "description" : "Flag to enable/disable a rule.", |
44660702 | 34605 | "minimum" : 0, |
56122987 | 34606 | "optional" : 1, |
4bd7df8b | 34607 | "type" : "integer", |
013dc89f | 34608 | "typetext" : "<integer> (0 - N)" |
56122987 | 34609 | }, |
7aacca6f | 34610 | "iface" : { |
44660702 | 34611 | "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 | 34612 | "format" : "pve-iface", |
44660702 | 34613 | "maxLength" : 20, |
56122987 | 34614 | "minLength" : 2, |
44660702 | 34615 | "optional" : 1, |
013dc89f DM |
34616 | "type" : "string", |
34617 | "typetext" : "<string>" | |
56122987 | 34618 | }, |
95895385 TL |
34619 | "log" : { |
34620 | "description" : "Log level for firewall rule.", | |
34621 | "enum" : [ | |
34622 | "emerg", | |
34623 | "alert", | |
34624 | "crit", | |
34625 | "err", | |
34626 | "warning", | |
34627 | "notice", | |
34628 | "info", | |
34629 | "debug", | |
34630 | "nolog" | |
34631 | ], | |
34632 | "optional" : 1, | |
34633 | "type" : "string" | |
34634 | }, | |
44660702 | 34635 | "macro" : { |
e94f0d56 | 34636 | "description" : "Use predefined standard macro.", |
44660702 DM |
34637 | "maxLength" : 128, |
34638 | "optional" : 1, | |
013dc89f DM |
34639 | "type" : "string", |
34640 | "typetext" : "<string>" | |
44660702 DM |
34641 | }, |
34642 | "moveto" : { | |
34643 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
34644 | "minimum" : 0, | |
7aacca6f | 34645 | "optional" : 1, |
4bd7df8b | 34646 | "type" : "integer", |
013dc89f | 34647 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
34648 | }, |
34649 | "node" : { | |
34650 | "description" : "The cluster node name.", | |
34651 | "format" : "pve-node", | |
013dc89f DM |
34652 | "type" : "string", |
34653 | "typetext" : "<string>" | |
56122987 DM |
34654 | }, |
34655 | "pos" : { | |
44660702 | 34656 | "description" : "Update rule at position <pos>.", |
7aacca6f | 34657 | "minimum" : 0, |
7aacca6f | 34658 | "optional" : 1, |
4bd7df8b | 34659 | "type" : "integer", |
013dc89f | 34660 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 34661 | }, |
44660702 DM |
34662 | "proto" : { |
34663 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
34664 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 34665 | "optional" : 1, |
013dc89f DM |
34666 | "type" : "string", |
34667 | "typetext" : "<string>" | |
7aacca6f | 34668 | }, |
44660702 DM |
34669 | "source" : { |
34670 | "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.", | |
34671 | "format" : "pve-fw-addr-spec", | |
56122987 | 34672 | "optional" : 1, |
013dc89f DM |
34673 | "type" : "string", |
34674 | "typetext" : "<string>" | |
7aacca6f | 34675 | }, |
44660702 DM |
34676 | "sport" : { |
34677 | "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.", | |
34678 | "format" : "pve-fw-sport-spec", | |
34679 | "optional" : 1, | |
013dc89f DM |
34680 | "type" : "string", |
34681 | "typetext" : "<string>" | |
44660702 DM |
34682 | }, |
34683 | "type" : { | |
e94f0d56 | 34684 | "description" : "Rule type.", |
44660702 DM |
34685 | "enum" : [ |
34686 | "in", | |
34687 | "out", | |
34688 | "group" | |
34689 | ], | |
34690 | "optional" : 1, | |
34691 | "type" : "string" | |
56122987 | 34692 | } |
44660702 | 34693 | } |
56122987 | 34694 | }, |
56122987 DM |
34695 | "permissions" : { |
34696 | "check" : [ | |
34697 | "perm", | |
34698 | "/nodes/{node}", | |
34699 | [ | |
34700 | "Sys.Modify" | |
34701 | ] | |
34702 | ] | |
7aacca6f | 34703 | }, |
44660702 | 34704 | "protected" : 1, |
7aacca6f | 34705 | "proxyto" : "node", |
7aacca6f DM |
34706 | "returns" : { |
34707 | "type" : "null" | |
56122987 DM |
34708 | } |
34709 | } | |
7aacca6f | 34710 | }, |
44660702 | 34711 | "leaf" : 1, |
7aacca6f | 34712 | "path" : "/nodes/{node}/firewall/rules/{pos}", |
44660702 | 34713 | "text" : "{pos}" |
56122987 DM |
34714 | } |
34715 | ], | |
56122987 DM |
34716 | "info" : { |
34717 | "GET" : { | |
e9cd3bd4 | 34718 | "allowtoken" : 1, |
44660702 DM |
34719 | "description" : "List rules.", |
34720 | "method" : "GET", | |
34721 | "name" : "get_rules", | |
34722 | "parameters" : { | |
34723 | "additionalProperties" : 0, | |
34724 | "properties" : { | |
34725 | "node" : { | |
34726 | "description" : "The cluster node name.", | |
34727 | "format" : "pve-node", | |
013dc89f DM |
34728 | "type" : "string", |
34729 | "typetext" : "<string>" | |
44660702 DM |
34730 | } |
34731 | } | |
34732 | }, | |
34733 | "permissions" : { | |
34734 | "check" : [ | |
34735 | "perm", | |
34736 | "/nodes/{node}", | |
34737 | [ | |
34738 | "Sys.Audit" | |
34739 | ] | |
34740 | ] | |
34741 | }, | |
34742 | "proxyto" : "node", | |
56122987 | 34743 | "returns" : { |
56122987 DM |
34744 | "items" : { |
34745 | "properties" : { | |
34746 | "pos" : { | |
34747 | "type" : "integer" | |
34748 | } | |
44660702 DM |
34749 | }, |
34750 | "type" : "object" | |
56122987 | 34751 | }, |
7aacca6f DM |
34752 | "links" : [ |
34753 | { | |
34754 | "href" : "{pos}", | |
34755 | "rel" : "child" | |
34756 | } | |
34757 | ], | |
34758 | "type" : "array" | |
44660702 | 34759 | } |
56122987 DM |
34760 | }, |
34761 | "POST" : { | |
e9cd3bd4 | 34762 | "allowtoken" : 1, |
44660702 | 34763 | "description" : "Create new rule.", |
7aacca6f DM |
34764 | "method" : "POST", |
34765 | "name" : "create_rule", | |
56122987 | 34766 | "parameters" : { |
44660702 | 34767 | "additionalProperties" : 0, |
56122987 | 34768 | "properties" : { |
7aacca6f | 34769 | "action" : { |
7aacca6f | 34770 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", |
44660702 | 34771 | "maxLength" : 20, |
7aacca6f DM |
34772 | "minLength" : 2, |
34773 | "optional" : 0, | |
44660702 DM |
34774 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
34775 | "type" : "string" | |
56122987 | 34776 | }, |
44660702 | 34777 | "comment" : { |
e94f0d56 | 34778 | "description" : "Descriptive comment.", |
56122987 | 34779 | "optional" : 1, |
013dc89f DM |
34780 | "type" : "string", |
34781 | "typetext" : "<string>" | |
56122987 | 34782 | }, |
44660702 DM |
34783 | "dest" : { |
34784 | "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.", | |
34785 | "format" : "pve-fw-addr-spec", | |
7aacca6f | 34786 | "optional" : 1, |
013dc89f DM |
34787 | "type" : "string", |
34788 | "typetext" : "<string>" | |
56122987 | 34789 | }, |
44660702 DM |
34790 | "digest" : { |
34791 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
34792 | "maxLength" : 40, | |
34793 | "optional" : 1, | |
013dc89f DM |
34794 | "type" : "string", |
34795 | "typetext" : "<string>" | |
56122987 | 34796 | }, |
44660702 DM |
34797 | "dport" : { |
34798 | "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.", | |
34799 | "format" : "pve-fw-dport-spec", | |
7aacca6f | 34800 | "optional" : 1, |
013dc89f DM |
34801 | "type" : "string", |
34802 | "typetext" : "<string>" | |
56122987 | 34803 | }, |
44660702 | 34804 | "enable" : { |
e94f0d56 | 34805 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
34806 | "minimum" : 0, |
34807 | "optional" : 1, | |
4bd7df8b | 34808 | "type" : "integer", |
013dc89f | 34809 | "typetext" : "<integer> (0 - N)" |
44660702 | 34810 | }, |
7aacca6f | 34811 | "iface" : { |
44660702 | 34812 | "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 | 34813 | "format" : "pve-iface", |
56122987 | 34814 | "maxLength" : 20, |
7aacca6f | 34815 | "minLength" : 2, |
7aacca6f | 34816 | "optional" : 1, |
013dc89f DM |
34817 | "type" : "string", |
34818 | "typetext" : "<string>" | |
56122987 | 34819 | }, |
95895385 TL |
34820 | "log" : { |
34821 | "description" : "Log level for firewall rule.", | |
34822 | "enum" : [ | |
34823 | "emerg", | |
34824 | "alert", | |
34825 | "crit", | |
34826 | "err", | |
34827 | "warning", | |
34828 | "notice", | |
34829 | "info", | |
34830 | "debug", | |
34831 | "nolog" | |
34832 | ], | |
34833 | "optional" : 1, | |
34834 | "type" : "string" | |
34835 | }, | |
44660702 | 34836 | "macro" : { |
e94f0d56 | 34837 | "description" : "Use predefined standard macro.", |
44660702 | 34838 | "maxLength" : 128, |
7aacca6f | 34839 | "optional" : 1, |
013dc89f DM |
34840 | "type" : "string", |
34841 | "typetext" : "<string>" | |
56122987 | 34842 | }, |
44660702 DM |
34843 | "node" : { |
34844 | "description" : "The cluster node name.", | |
34845 | "format" : "pve-node", | |
013dc89f DM |
34846 | "type" : "string", |
34847 | "typetext" : "<string>" | |
44660702 DM |
34848 | }, |
34849 | "pos" : { | |
34850 | "description" : "Update rule at position <pos>.", | |
34851 | "minimum" : 0, | |
34852 | "optional" : 1, | |
4bd7df8b | 34853 | "type" : "integer", |
013dc89f | 34854 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
34855 | }, |
34856 | "proto" : { | |
34857 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
34858 | "format" : "pve-fw-protocol-spec", | |
56122987 | 34859 | "optional" : 1, |
013dc89f DM |
34860 | "type" : "string", |
34861 | "typetext" : "<string>" | |
56122987 | 34862 | }, |
7aacca6f | 34863 | "source" : { |
7aacca6f | 34864 | "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 |
34865 | "format" : "pve-fw-addr-spec", |
34866 | "optional" : 1, | |
013dc89f DM |
34867 | "type" : "string", |
34868 | "typetext" : "<string>" | |
7aacca6f | 34869 | }, |
44660702 DM |
34870 | "sport" : { |
34871 | "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.", | |
34872 | "format" : "pve-fw-sport-spec", | |
7aacca6f | 34873 | "optional" : 1, |
013dc89f DM |
34874 | "type" : "string", |
34875 | "typetext" : "<string>" | |
44660702 DM |
34876 | }, |
34877 | "type" : { | |
e94f0d56 | 34878 | "description" : "Rule type.", |
44660702 DM |
34879 | "enum" : [ |
34880 | "in", | |
34881 | "out", | |
34882 | "group" | |
34883 | ], | |
34884 | "optional" : 0, | |
34885 | "type" : "string" | |
56122987 | 34886 | } |
44660702 | 34887 | } |
7aacca6f | 34888 | }, |
56122987 DM |
34889 | "permissions" : { |
34890 | "check" : [ | |
34891 | "perm", | |
34892 | "/nodes/{node}", | |
34893 | [ | |
34894 | "Sys.Modify" | |
34895 | ] | |
34896 | ] | |
34897 | }, | |
44660702 DM |
34898 | "protected" : 1, |
34899 | "proxyto" : "node", | |
34900 | "returns" : { | |
34901 | "type" : "null" | |
34902 | } | |
56122987 DM |
34903 | } |
34904 | }, | |
44660702 | 34905 | "leaf" : 0, |
7aacca6f | 34906 | "path" : "/nodes/{node}/firewall/rules", |
44660702 | 34907 | "text" : "rules" |
56122987 DM |
34908 | }, |
34909 | { | |
56122987 | 34910 | "info" : { |
44660702 | 34911 | "GET" : { |
e9cd3bd4 | 34912 | "allowtoken" : 1, |
44660702 DM |
34913 | "description" : "Get host firewall options.", |
34914 | "method" : "GET", | |
34915 | "name" : "get_options", | |
56122987 | 34916 | "parameters" : { |
7aacca6f | 34917 | "additionalProperties" : 0, |
56122987 | 34918 | "properties" : { |
44660702 DM |
34919 | "node" : { |
34920 | "description" : "The cluster node name.", | |
34921 | "format" : "pve-node", | |
013dc89f DM |
34922 | "type" : "string", |
34923 | "typetext" : "<string>" | |
44660702 DM |
34924 | } |
34925 | } | |
34926 | }, | |
34927 | "permissions" : { | |
34928 | "check" : [ | |
34929 | "perm", | |
34930 | "/nodes/{node}", | |
34931 | [ | |
34932 | "Sys.Audit" | |
34933 | ] | |
34934 | ] | |
34935 | }, | |
34936 | "proxyto" : "node", | |
34937 | "returns" : { | |
34938 | "properties" : { | |
34939 | "enable" : { | |
34940 | "description" : "Enable host firewall rules.", | |
7aacca6f | 34941 | "optional" : 1, |
44660702 | 34942 | "type" : "boolean" |
7aacca6f | 34943 | }, |
44660702 DM |
34944 | "log_level_in" : { |
34945 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
34946 | "enum" : [ |
34947 | "emerg", | |
34948 | "alert", | |
34949 | "crit", | |
34950 | "err", | |
34951 | "warning", | |
34952 | "notice", | |
34953 | "info", | |
34954 | "debug", | |
34955 | "nolog" | |
34956 | ], | |
56122987 | 34957 | "optional" : 1, |
44660702 DM |
34958 | "type" : "string" |
34959 | }, | |
34960 | "log_level_out" : { | |
34961 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
34962 | "enum" : [ |
34963 | "emerg", | |
34964 | "alert", | |
34965 | "crit", | |
34966 | "err", | |
34967 | "warning", | |
34968 | "notice", | |
34969 | "info", | |
34970 | "debug", | |
34971 | "nolog" | |
34972 | ], | |
44660702 DM |
34973 | "optional" : 1, |
34974 | "type" : "string" | |
34975 | }, | |
95895385 TL |
34976 | "log_nf_conntrack" : { |
34977 | "default" : 0, | |
34978 | "description" : "Enable logging of conntrack information.", | |
34979 | "optional" : 1, | |
34980 | "type" : "boolean" | |
34981 | }, | |
44660702 | 34982 | "ndp" : { |
5c1699e5 TL |
34983 | "default" : 0, |
34984 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
44660702 DM |
34985 | "optional" : 1, |
34986 | "type" : "boolean" | |
34987 | }, | |
5f26e15b TL |
34988 | "nf_conntrack_allow_invalid" : { |
34989 | "default" : 0, | |
34990 | "description" : "Allow invalid packets on connection tracking.", | |
34991 | "optional" : 1, | |
34992 | "type" : "boolean" | |
34993 | }, | |
44660702 | 34994 | "nf_conntrack_max" : { |
5c1699e5 | 34995 | "default" : 262144, |
44660702 DM |
34996 | "description" : "Maximum number of tracked connections.", |
34997 | "minimum" : 32768, | |
34998 | "optional" : 1, | |
34999 | "type" : "integer" | |
35000 | }, | |
35001 | "nf_conntrack_tcp_timeout_established" : { | |
5c1699e5 | 35002 | "default" : 432000, |
44660702 DM |
35003 | "description" : "Conntrack established timeout.", |
35004 | "minimum" : 7875, | |
35005 | "optional" : 1, | |
35006 | "type" : "integer" | |
35007 | }, | |
5c1699e5 TL |
35008 | "nf_conntrack_tcp_timeout_syn_recv" : { |
35009 | "default" : 60, | |
35010 | "description" : "Conntrack syn recv timeout.", | |
35011 | "maximum" : 60, | |
35012 | "minimum" : 30, | |
35013 | "optional" : 1, | |
35014 | "type" : "integer" | |
35015 | }, | |
44660702 DM |
35016 | "nosmurfs" : { |
35017 | "description" : "Enable SMURFS filter.", | |
35018 | "optional" : 1, | |
35019 | "type" : "boolean" | |
56122987 | 35020 | }, |
5c1699e5 TL |
35021 | "protection_synflood" : { |
35022 | "default" : 0, | |
35023 | "description" : "Enable synflood protection", | |
35024 | "optional" : 1, | |
35025 | "type" : "boolean" | |
35026 | }, | |
35027 | "protection_synflood_burst" : { | |
35028 | "default" : 1000, | |
35029 | "description" : "Synflood protection rate burst by ip src.", | |
35030 | "optional" : 1, | |
35031 | "type" : "integer" | |
35032 | }, | |
35033 | "protection_synflood_rate" : { | |
35034 | "default" : 200, | |
35035 | "description" : "Synflood protection rate syn/sec by ip src.", | |
35036 | "optional" : 1, | |
35037 | "type" : "integer" | |
35038 | }, | |
7aacca6f | 35039 | "smurf_log_level" : { |
44660702 | 35040 | "description" : "Log level for SMURFS filter.", |
56122987 DM |
35041 | "enum" : [ |
35042 | "emerg", | |
35043 | "alert", | |
35044 | "crit", | |
35045 | "err", | |
35046 | "warning", | |
35047 | "notice", | |
35048 | "info", | |
35049 | "debug", | |
35050 | "nolog" | |
7aacca6f | 35051 | ], |
7aacca6f DM |
35052 | "optional" : 1, |
35053 | "type" : "string" | |
56122987 | 35054 | }, |
44660702 DM |
35055 | "tcp_flags_log_level" : { |
35056 | "description" : "Log level for illegal tcp flags filter.", | |
56122987 DM |
35057 | "enum" : [ |
35058 | "emerg", | |
35059 | "alert", | |
35060 | "crit", | |
35061 | "err", | |
35062 | "warning", | |
35063 | "notice", | |
35064 | "info", | |
35065 | "debug", | |
35066 | "nolog" | |
35067 | ], | |
44660702 DM |
35068 | "optional" : 1, |
35069 | "type" : "string" | |
7aacca6f | 35070 | }, |
44660702 | 35071 | "tcpflags" : { |
5c1699e5 | 35072 | "default" : 0, |
44660702 | 35073 | "description" : "Filter illegal combinations of TCP flags.", |
56122987 | 35074 | "optional" : 1, |
44660702 | 35075 | "type" : "boolean" |
56122987 | 35076 | } |
44660702 DM |
35077 | }, |
35078 | "type" : "object" | |
7aacca6f | 35079 | } |
56122987 | 35080 | }, |
44660702 | 35081 | "PUT" : { |
e9cd3bd4 | 35082 | "allowtoken" : 1, |
44660702 DM |
35083 | "description" : "Set Firewall options.", |
35084 | "method" : "PUT", | |
35085 | "name" : "set_options", | |
7aacca6f | 35086 | "parameters" : { |
44660702 | 35087 | "additionalProperties" : 0, |
7aacca6f | 35088 | "properties" : { |
44660702 DM |
35089 | "delete" : { |
35090 | "description" : "A list of settings you want to delete.", | |
35091 | "format" : "pve-configid-list", | |
7aacca6f | 35092 | "optional" : 1, |
013dc89f DM |
35093 | "type" : "string", |
35094 | "typetext" : "<string>" | |
56122987 | 35095 | }, |
44660702 DM |
35096 | "digest" : { |
35097 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
35098 | "maxLength" : 40, | |
35099 | "optional" : 1, | |
013dc89f DM |
35100 | "type" : "string", |
35101 | "typetext" : "<string>" | |
56122987 | 35102 | }, |
44660702 DM |
35103 | "enable" : { |
35104 | "description" : "Enable host firewall rules.", | |
7aacca6f | 35105 | "optional" : 1, |
013dc89f DM |
35106 | "type" : "boolean", |
35107 | "typetext" : "<boolean>" | |
44660702 DM |
35108 | }, |
35109 | "log_level_in" : { | |
35110 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
35111 | "enum" : [ |
35112 | "emerg", | |
35113 | "alert", | |
35114 | "crit", | |
35115 | "err", | |
35116 | "warning", | |
35117 | "notice", | |
35118 | "info", | |
35119 | "debug", | |
35120 | "nolog" | |
44660702 | 35121 | ], |
7aacca6f | 35122 | "optional" : 1, |
44660702 | 35123 | "type" : "string" |
7aacca6f | 35124 | }, |
44660702 DM |
35125 | "log_level_out" : { |
35126 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
35127 | "enum" : [ |
35128 | "emerg", | |
35129 | "alert", | |
35130 | "crit", | |
35131 | "err", | |
35132 | "warning", | |
35133 | "notice", | |
35134 | "info", | |
35135 | "debug", | |
35136 | "nolog" | |
35137 | ], | |
35138 | "optional" : 1, | |
7aacca6f | 35139 | "type" : "string" |
56122987 | 35140 | }, |
95895385 TL |
35141 | "log_nf_conntrack" : { |
35142 | "default" : 0, | |
35143 | "description" : "Enable logging of conntrack information.", | |
35144 | "optional" : 1, | |
35145 | "type" : "boolean", | |
35146 | "typetext" : "<boolean>" | |
35147 | }, | |
44660702 | 35148 | "ndp" : { |
5c1699e5 TL |
35149 | "default" : 0, |
35150 | "description" : "Enable NDP (Neighbor Discovery Protocol).", | |
7aacca6f | 35151 | "optional" : 1, |
013dc89f DM |
35152 | "type" : "boolean", |
35153 | "typetext" : "<boolean>" | |
44660702 | 35154 | }, |
5f26e15b TL |
35155 | "nf_conntrack_allow_invalid" : { |
35156 | "default" : 0, | |
35157 | "description" : "Allow invalid packets on connection tracking.", | |
35158 | "optional" : 1, | |
35159 | "type" : "boolean", | |
35160 | "typetext" : "<boolean>" | |
35161 | }, | |
44660702 | 35162 | "nf_conntrack_max" : { |
5c1699e5 | 35163 | "default" : 262144, |
44660702 DM |
35164 | "description" : "Maximum number of tracked connections.", |
35165 | "minimum" : 32768, | |
35166 | "optional" : 1, | |
4bd7df8b | 35167 | "type" : "integer", |
013dc89f | 35168 | "typetext" : "<integer> (32768 - N)" |
44660702 DM |
35169 | }, |
35170 | "nf_conntrack_tcp_timeout_established" : { | |
5c1699e5 | 35171 | "default" : 432000, |
44660702 DM |
35172 | "description" : "Conntrack established timeout.", |
35173 | "minimum" : 7875, | |
35174 | "optional" : 1, | |
4bd7df8b | 35175 | "type" : "integer", |
013dc89f | 35176 | "typetext" : "<integer> (7875 - N)" |
44660702 | 35177 | }, |
5c1699e5 TL |
35178 | "nf_conntrack_tcp_timeout_syn_recv" : { |
35179 | "default" : 60, | |
35180 | "description" : "Conntrack syn recv timeout.", | |
35181 | "maximum" : 60, | |
35182 | "minimum" : 30, | |
35183 | "optional" : 1, | |
35184 | "type" : "integer", | |
35185 | "typetext" : "<integer> (30 - 60)" | |
35186 | }, | |
44660702 DM |
35187 | "node" : { |
35188 | "description" : "The cluster node name.", | |
35189 | "format" : "pve-node", | |
013dc89f DM |
35190 | "type" : "string", |
35191 | "typetext" : "<string>" | |
44660702 DM |
35192 | }, |
35193 | "nosmurfs" : { | |
35194 | "description" : "Enable SMURFS filter.", | |
35195 | "optional" : 1, | |
013dc89f DM |
35196 | "type" : "boolean", |
35197 | "typetext" : "<boolean>" | |
44660702 | 35198 | }, |
5c1699e5 TL |
35199 | "protection_synflood" : { |
35200 | "default" : 0, | |
35201 | "description" : "Enable synflood protection", | |
35202 | "optional" : 1, | |
35203 | "type" : "boolean", | |
35204 | "typetext" : "<boolean>" | |
35205 | }, | |
35206 | "protection_synflood_burst" : { | |
35207 | "default" : 1000, | |
35208 | "description" : "Synflood protection rate burst by ip src.", | |
35209 | "optional" : 1, | |
35210 | "type" : "integer", | |
35211 | "typetext" : "<integer>" | |
35212 | }, | |
35213 | "protection_synflood_rate" : { | |
35214 | "default" : 200, | |
35215 | "description" : "Synflood protection rate syn/sec by ip src.", | |
35216 | "optional" : 1, | |
35217 | "type" : "integer", | |
35218 | "typetext" : "<integer>" | |
35219 | }, | |
44660702 DM |
35220 | "smurf_log_level" : { |
35221 | "description" : "Log level for SMURFS filter.", | |
56122987 DM |
35222 | "enum" : [ |
35223 | "emerg", | |
35224 | "alert", | |
35225 | "crit", | |
35226 | "err", | |
35227 | "warning", | |
35228 | "notice", | |
35229 | "info", | |
35230 | "debug", | |
35231 | "nolog" | |
44660702 DM |
35232 | ], |
35233 | "optional" : 1, | |
35234 | "type" : "string" | |
56122987 | 35235 | }, |
44660702 DM |
35236 | "tcp_flags_log_level" : { |
35237 | "description" : "Log level for illegal tcp flags filter.", | |
56122987 DM |
35238 | "enum" : [ |
35239 | "emerg", | |
35240 | "alert", | |
35241 | "crit", | |
35242 | "err", | |
35243 | "warning", | |
35244 | "notice", | |
35245 | "info", | |
35246 | "debug", | |
35247 | "nolog" | |
35248 | ], | |
44660702 DM |
35249 | "optional" : 1, |
35250 | "type" : "string" | |
7aacca6f | 35251 | }, |
44660702 | 35252 | "tcpflags" : { |
5c1699e5 | 35253 | "default" : 0, |
44660702 | 35254 | "description" : "Filter illegal combinations of TCP flags.", |
56122987 | 35255 | "optional" : 1, |
013dc89f DM |
35256 | "type" : "boolean", |
35257 | "typetext" : "<boolean>" | |
56122987 | 35258 | } |
7aacca6f | 35259 | } |
56122987 | 35260 | }, |
44660702 DM |
35261 | "permissions" : { |
35262 | "check" : [ | |
35263 | "perm", | |
35264 | "/nodes/{node}", | |
35265 | [ | |
35266 | "Sys.Modify" | |
35267 | ] | |
35268 | ] | |
35269 | }, | |
35270 | "protected" : 1, | |
35271 | "proxyto" : "node", | |
35272 | "returns" : { | |
35273 | "type" : "null" | |
35274 | } | |
7aacca6f DM |
35275 | } |
35276 | }, | |
44660702 DM |
35277 | "leaf" : 1, |
35278 | "path" : "/nodes/{node}/firewall/options", | |
7aacca6f DM |
35279 | "text" : "options" |
35280 | }, | |
35281 | { | |
7aacca6f DM |
35282 | "info" : { |
35283 | "GET" : { | |
e9cd3bd4 | 35284 | "allowtoken" : 1, |
44660702 DM |
35285 | "description" : "Read firewall log", |
35286 | "method" : "GET", | |
7aacca6f | 35287 | "name" : "log", |
56122987 | 35288 | "parameters" : { |
44660702 | 35289 | "additionalProperties" : 0, |
56122987 | 35290 | "properties" : { |
7aacca6f | 35291 | "limit" : { |
44660702 | 35292 | "minimum" : 0, |
7aacca6f | 35293 | "optional" : 1, |
4bd7df8b | 35294 | "type" : "integer", |
013dc89f | 35295 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 35296 | }, |
56122987 | 35297 | "node" : { |
7aacca6f | 35298 | "description" : "The cluster node name.", |
44660702 | 35299 | "format" : "pve-node", |
013dc89f DM |
35300 | "type" : "string", |
35301 | "typetext" : "<string>" | |
44660702 DM |
35302 | }, |
35303 | "start" : { | |
35304 | "minimum" : 0, | |
35305 | "optional" : 1, | |
4bd7df8b | 35306 | "type" : "integer", |
013dc89f | 35307 | "typetext" : "<integer> (0 - N)" |
56122987 | 35308 | } |
44660702 | 35309 | } |
7aacca6f | 35310 | }, |
56122987 DM |
35311 | "permissions" : { |
35312 | "check" : [ | |
35313 | "perm", | |
35314 | "/nodes/{node}", | |
35315 | [ | |
35316 | "Sys.Syslog" | |
35317 | ] | |
35318 | ] | |
35319 | }, | |
44660702 DM |
35320 | "protected" : 1, |
35321 | "proxyto" : "node", | |
56122987 DM |
35322 | "returns" : { |
35323 | "items" : { | |
56122987 | 35324 | "properties" : { |
56122987 | 35325 | "n" : { |
44660702 DM |
35326 | "description" : "Line number", |
35327 | "type" : "integer" | |
7aacca6f DM |
35328 | }, |
35329 | "t" : { | |
44660702 DM |
35330 | "description" : "Line text", |
35331 | "type" : "string" | |
56122987 | 35332 | } |
44660702 DM |
35333 | }, |
35334 | "type" : "object" | |
56122987 DM |
35335 | }, |
35336 | "type" : "array" | |
7aacca6f | 35337 | } |
56122987 DM |
35338 | } |
35339 | }, | |
44660702 DM |
35340 | "leaf" : 1, |
35341 | "path" : "/nodes/{node}/firewall/log", | |
7aacca6f | 35342 | "text" : "log" |
56122987 DM |
35343 | } |
35344 | ], | |
35345 | "info" : { | |
35346 | "GET" : { | |
e9cd3bd4 | 35347 | "allowtoken" : 1, |
44660702 DM |
35348 | "description" : "Directory index.", |
35349 | "method" : "GET", | |
35350 | "name" : "index", | |
56122987 | 35351 | "parameters" : { |
44660702 | 35352 | "additionalProperties" : 0, |
56122987 DM |
35353 | "properties" : { |
35354 | "node" : { | |
35355 | "description" : "The cluster node name.", | |
44660702 | 35356 | "format" : "pve-node", |
013dc89f DM |
35357 | "type" : "string", |
35358 | "typetext" : "<string>" | |
56122987 | 35359 | } |
44660702 | 35360 | } |
56122987 | 35361 | }, |
7aacca6f DM |
35362 | "permissions" : { |
35363 | "user" : "all" | |
35364 | }, | |
56122987 DM |
35365 | "returns" : { |
35366 | "items" : { | |
35367 | "properties" : {}, | |
35368 | "type" : "object" | |
35369 | }, | |
56122987 DM |
35370 | "links" : [ |
35371 | { | |
44660702 DM |
35372 | "href" : "{name}", |
35373 | "rel" : "child" | |
56122987 | 35374 | } |
44660702 DM |
35375 | ], |
35376 | "type" : "array" | |
35377 | } | |
56122987 | 35378 | } |
7aacca6f | 35379 | }, |
44660702 | 35380 | "leaf" : 0, |
7aacca6f | 35381 | "path" : "/nodes/{node}/firewall", |
44660702 | 35382 | "text" : "firewall" |
56122987 | 35383 | }, |
5d9c884c DM |
35384 | { |
35385 | "children" : [ | |
35386 | { | |
35387 | "children" : [ | |
35388 | { | |
35389 | "info" : { | |
35390 | "GET" : { | |
e9cd3bd4 | 35391 | "allowtoken" : 1, |
5d9c884c DM |
35392 | "description" : "Get replication job status.", |
35393 | "method" : "GET", | |
35394 | "name" : "job_status", | |
35395 | "parameters" : { | |
35396 | "additionalProperties" : 0, | |
35397 | "properties" : { | |
35398 | "id" : { | |
35399 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
35400 | "format" : "pve-replication-job-id", | |
35401 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
35402 | "type" : "string" | |
35403 | }, | |
35404 | "node" : { | |
35405 | "description" : "The cluster node name.", | |
35406 | "format" : "pve-node", | |
35407 | "type" : "string", | |
35408 | "typetext" : "<string>" | |
35409 | } | |
35410 | } | |
35411 | }, | |
35412 | "permissions" : { | |
35413 | "description" : "Requires the VM.Audit permission on /vms/<vmid>.", | |
35414 | "user" : "all" | |
35415 | }, | |
35416 | "protected" : 1, | |
35417 | "proxyto" : "node", | |
35418 | "returns" : { | |
5d9c884c DM |
35419 | "type" : "object" |
35420 | } | |
35421 | } | |
35422 | }, | |
35423 | "leaf" : 1, | |
35424 | "path" : "/nodes/{node}/replication/{id}/status", | |
35425 | "text" : "status" | |
35426 | }, | |
35427 | { | |
35428 | "info" : { | |
35429 | "GET" : { | |
e9cd3bd4 | 35430 | "allowtoken" : 1, |
5d9c884c DM |
35431 | "description" : "Read replication job log.", |
35432 | "method" : "GET", | |
35433 | "name" : "read_job_log", | |
35434 | "parameters" : { | |
35435 | "additionalProperties" : 0, | |
35436 | "properties" : { | |
35437 | "id" : { | |
35438 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
35439 | "format" : "pve-replication-job-id", | |
35440 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
35441 | "type" : "string" | |
35442 | }, | |
35443 | "limit" : { | |
35444 | "minimum" : 0, | |
35445 | "optional" : 1, | |
35446 | "type" : "integer", | |
35447 | "typetext" : "<integer> (0 - N)" | |
35448 | }, | |
35449 | "node" : { | |
35450 | "description" : "The cluster node name.", | |
35451 | "format" : "pve-node", | |
35452 | "type" : "string", | |
35453 | "typetext" : "<string>" | |
35454 | }, | |
35455 | "start" : { | |
35456 | "minimum" : 0, | |
35457 | "optional" : 1, | |
35458 | "type" : "integer", | |
35459 | "typetext" : "<integer> (0 - N)" | |
35460 | } | |
35461 | } | |
35462 | }, | |
35463 | "permissions" : { | |
35464 | "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'", | |
35465 | "user" : "all" | |
35466 | }, | |
35467 | "protected" : 1, | |
35468 | "proxyto" : "node", | |
35469 | "returns" : { | |
35470 | "items" : { | |
35471 | "properties" : { | |
35472 | "n" : { | |
35473 | "description" : "Line number", | |
35474 | "type" : "integer" | |
35475 | }, | |
35476 | "t" : { | |
35477 | "description" : "Line text", | |
35478 | "type" : "string" | |
35479 | } | |
35480 | }, | |
35481 | "type" : "object" | |
35482 | }, | |
35483 | "type" : "array" | |
35484 | } | |
35485 | } | |
35486 | }, | |
35487 | "leaf" : 1, | |
35488 | "path" : "/nodes/{node}/replication/{id}/log", | |
35489 | "text" : "log" | |
35490 | }, | |
35491 | { | |
35492 | "info" : { | |
35493 | "POST" : { | |
e9cd3bd4 | 35494 | "allowtoken" : 1, |
5d9c884c DM |
35495 | "description" : "Schedule replication job to start as soon as possible.", |
35496 | "method" : "POST", | |
35497 | "name" : "schedule_now", | |
35498 | "parameters" : { | |
35499 | "additionalProperties" : 0, | |
35500 | "properties" : { | |
35501 | "id" : { | |
35502 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
35503 | "format" : "pve-replication-job-id", | |
35504 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
35505 | "type" : "string" | |
35506 | }, | |
35507 | "node" : { | |
35508 | "description" : "The cluster node name.", | |
35509 | "format" : "pve-node", | |
35510 | "type" : "string", | |
35511 | "typetext" : "<string>" | |
35512 | } | |
35513 | } | |
35514 | }, | |
35515 | "permissions" : { | |
35516 | "check" : [ | |
35517 | "perm", | |
35518 | "/storage", | |
35519 | [ | |
35520 | "Datastore.Allocate" | |
35521 | ] | |
35522 | ] | |
35523 | }, | |
35524 | "protected" : 1, | |
35525 | "proxyto" : "node", | |
35526 | "returns" : { | |
35527 | "type" : "string" | |
35528 | } | |
35529 | } | |
35530 | }, | |
35531 | "leaf" : 1, | |
35532 | "path" : "/nodes/{node}/replication/{id}/schedule_now", | |
35533 | "text" : "schedule_now" | |
35534 | } | |
35535 | ], | |
35536 | "info" : { | |
35537 | "GET" : { | |
e9cd3bd4 | 35538 | "allowtoken" : 1, |
5d9c884c DM |
35539 | "description" : "Directory index.", |
35540 | "method" : "GET", | |
35541 | "name" : "index", | |
35542 | "parameters" : { | |
35543 | "additionalProperties" : 0, | |
35544 | "properties" : { | |
35545 | "id" : { | |
35546 | "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.", | |
35547 | "format" : "pve-replication-job-id", | |
35548 | "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}", | |
35549 | "type" : "string" | |
35550 | }, | |
35551 | "node" : { | |
35552 | "description" : "The cluster node name.", | |
35553 | "format" : "pve-node", | |
35554 | "type" : "string", | |
35555 | "typetext" : "<string>" | |
35556 | } | |
35557 | } | |
35558 | }, | |
35559 | "permissions" : { | |
35560 | "user" : "all" | |
35561 | }, | |
35562 | "returns" : { | |
35563 | "items" : { | |
35564 | "properties" : {}, | |
35565 | "type" : "object" | |
35566 | }, | |
35567 | "links" : [ | |
35568 | { | |
35569 | "href" : "{name}", | |
35570 | "rel" : "child" | |
35571 | } | |
35572 | ], | |
35573 | "type" : "array" | |
35574 | } | |
35575 | } | |
35576 | }, | |
35577 | "leaf" : 0, | |
35578 | "path" : "/nodes/{node}/replication/{id}", | |
35579 | "text" : "{id}" | |
35580 | } | |
35581 | ], | |
35582 | "info" : { | |
35583 | "GET" : { | |
e9cd3bd4 | 35584 | "allowtoken" : 1, |
5d9c884c DM |
35585 | "description" : "List status of all replication jobs on this node.", |
35586 | "method" : "GET", | |
35587 | "name" : "status", | |
35588 | "parameters" : { | |
35589 | "additionalProperties" : 0, | |
35590 | "properties" : { | |
35591 | "guest" : { | |
35592 | "description" : "Only list replication jobs for this guest.", | |
35593 | "format" : "pve-vmid", | |
35594 | "minimum" : 1, | |
35595 | "optional" : 1, | |
35596 | "type" : "integer", | |
35597 | "typetext" : "<integer> (1 - N)" | |
35598 | }, | |
35599 | "node" : { | |
35600 | "description" : "The cluster node name.", | |
35601 | "format" : "pve-node", | |
35602 | "type" : "string", | |
35603 | "typetext" : "<string>" | |
35604 | } | |
35605 | } | |
35606 | }, | |
35607 | "permissions" : { | |
35608 | "description" : "Requires the VM.Audit permission on /vms/<vmid>.", | |
35609 | "user" : "all" | |
35610 | }, | |
35611 | "protected" : 1, | |
35612 | "proxyto" : "node", | |
35613 | "returns" : { | |
35614 | "items" : { | |
35615 | "properties" : { | |
35616 | "id" : { | |
35617 | "type" : "string" | |
35618 | } | |
35619 | }, | |
35620 | "type" : "object" | |
35621 | }, | |
35622 | "links" : [ | |
35623 | { | |
35624 | "href" : "{id}", | |
35625 | "rel" : "child" | |
35626 | } | |
35627 | ], | |
35628 | "type" : "array" | |
35629 | } | |
35630 | } | |
35631 | }, | |
35632 | "leaf" : 0, | |
35633 | "path" : "/nodes/{node}/replication", | |
35634 | "text" : "replication" | |
35635 | }, | |
a9a8e3d1 DM |
35636 | { |
35637 | "children" : [ | |
35638 | { | |
35639 | "children" : [ | |
35640 | { | |
35641 | "info" : { | |
35642 | "DELETE" : { | |
e9cd3bd4 | 35643 | "allowtoken" : 1, |
a9a8e3d1 DM |
35644 | "description" : "Revoke existing certificate from CA.", |
35645 | "method" : "DELETE", | |
35646 | "name" : "revoke_certificate", | |
35647 | "parameters" : { | |
35648 | "additionalProperties" : 0, | |
35649 | "properties" : { | |
35650 | "node" : { | |
35651 | "description" : "The cluster node name.", | |
35652 | "format" : "pve-node", | |
35653 | "type" : "string", | |
35654 | "typetext" : "<string>" | |
35655 | } | |
35656 | } | |
35657 | }, | |
35658 | "protected" : 1, | |
35659 | "proxyto" : "node", | |
35660 | "returns" : { | |
35661 | "type" : "string" | |
35662 | } | |
35663 | }, | |
35664 | "POST" : { | |
e9cd3bd4 | 35665 | "allowtoken" : 1, |
a9a8e3d1 DM |
35666 | "description" : "Order a new certificate from ACME-compatible CA.", |
35667 | "method" : "POST", | |
35668 | "name" : "new_certificate", | |
35669 | "parameters" : { | |
35670 | "additionalProperties" : 0, | |
35671 | "properties" : { | |
35672 | "force" : { | |
35673 | "default" : 0, | |
35674 | "description" : "Overwrite existing custom certificate.", | |
35675 | "optional" : 1, | |
35676 | "type" : "boolean", | |
35677 | "typetext" : "<boolean>" | |
35678 | }, | |
35679 | "node" : { | |
35680 | "description" : "The cluster node name.", | |
35681 | "format" : "pve-node", | |
35682 | "type" : "string", | |
35683 | "typetext" : "<string>" | |
35684 | } | |
35685 | } | |
35686 | }, | |
35687 | "protected" : 1, | |
35688 | "proxyto" : "node", | |
35689 | "returns" : { | |
35690 | "type" : "string" | |
35691 | } | |
35692 | }, | |
35693 | "PUT" : { | |
e9cd3bd4 | 35694 | "allowtoken" : 1, |
a9a8e3d1 DM |
35695 | "description" : "Renew existing certificate from CA.", |
35696 | "method" : "PUT", | |
35697 | "name" : "renew_certificate", | |
35698 | "parameters" : { | |
35699 | "additionalProperties" : 0, | |
35700 | "properties" : { | |
35701 | "force" : { | |
35702 | "default" : 0, | |
35703 | "description" : "Force renewal even if expiry is more than 30 days away.", | |
35704 | "optional" : 1, | |
35705 | "type" : "boolean", | |
35706 | "typetext" : "<boolean>" | |
35707 | }, | |
35708 | "node" : { | |
35709 | "description" : "The cluster node name.", | |
35710 | "format" : "pve-node", | |
35711 | "type" : "string", | |
35712 | "typetext" : "<string>" | |
35713 | } | |
35714 | } | |
35715 | }, | |
35716 | "protected" : 1, | |
35717 | "proxyto" : "node", | |
35718 | "returns" : { | |
35719 | "type" : "string" | |
35720 | } | |
35721 | } | |
35722 | }, | |
35723 | "leaf" : 1, | |
35724 | "path" : "/nodes/{node}/certificates/acme/certificate", | |
35725 | "text" : "certificate" | |
35726 | } | |
35727 | ], | |
35728 | "info" : { | |
35729 | "GET" : { | |
e9cd3bd4 | 35730 | "allowtoken" : 1, |
a9a8e3d1 DM |
35731 | "description" : "ACME index.", |
35732 | "method" : "GET", | |
35733 | "name" : "index", | |
35734 | "parameters" : { | |
35735 | "additionalProperties" : 0, | |
35736 | "properties" : { | |
35737 | "node" : { | |
35738 | "description" : "The cluster node name.", | |
35739 | "format" : "pve-node", | |
35740 | "type" : "string", | |
35741 | "typetext" : "<string>" | |
35742 | } | |
35743 | } | |
35744 | }, | |
35745 | "permissions" : { | |
35746 | "user" : "all" | |
35747 | }, | |
35748 | "returns" : { | |
35749 | "items" : { | |
35750 | "properties" : {}, | |
35751 | "type" : "object" | |
35752 | }, | |
35753 | "links" : [ | |
35754 | { | |
35755 | "href" : "{name}", | |
35756 | "rel" : "child" | |
35757 | } | |
35758 | ], | |
35759 | "type" : "array" | |
35760 | } | |
35761 | } | |
35762 | }, | |
35763 | "leaf" : 0, | |
35764 | "path" : "/nodes/{node}/certificates/acme", | |
35765 | "text" : "acme" | |
35766 | }, | |
35767 | { | |
35768 | "info" : { | |
35769 | "GET" : { | |
e9cd3bd4 | 35770 | "allowtoken" : 1, |
a9a8e3d1 DM |
35771 | "description" : "Get information about node's certificates.", |
35772 | "method" : "GET", | |
35773 | "name" : "info", | |
35774 | "parameters" : { | |
35775 | "additionalProperties" : 0, | |
35776 | "properties" : { | |
35777 | "node" : { | |
35778 | "description" : "The cluster node name.", | |
35779 | "format" : "pve-node", | |
35780 | "type" : "string", | |
35781 | "typetext" : "<string>" | |
35782 | } | |
35783 | } | |
35784 | }, | |
35785 | "permissions" : { | |
35786 | "user" : "all" | |
35787 | }, | |
35788 | "proxyto" : "node", | |
35789 | "returns" : { | |
35790 | "items" : { | |
35791 | "properties" : { | |
35792 | "filename" : { | |
35793 | "optional" : 1, | |
35794 | "type" : "string" | |
35795 | }, | |
35796 | "fingerprint" : { | |
35797 | "description" : "Certificate SHA 256 fingerprint.", | |
35798 | "optional" : 1, | |
35799 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
35800 | "type" : "string" | |
35801 | }, | |
35802 | "issuer" : { | |
35803 | "description" : "Certificate issuer name.", | |
35804 | "optional" : 1, | |
35805 | "type" : "string" | |
35806 | }, | |
35807 | "notafter" : { | |
35808 | "description" : "Certificate's notAfter timestamp (UNIX epoch).", | |
35809 | "optional" : 1, | |
4d47f125 | 35810 | "renderer" : "timestamp", |
a9a8e3d1 DM |
35811 | "type" : "integer" |
35812 | }, | |
35813 | "notbefore" : { | |
35814 | "description" : "Certificate's notBefore timestamp (UNIX epoch).", | |
35815 | "optional" : 1, | |
4d47f125 | 35816 | "renderer" : "timestamp", |
a9a8e3d1 DM |
35817 | "type" : "integer" |
35818 | }, | |
35819 | "pem" : { | |
35820 | "description" : "Certificate in PEM format", | |
35821 | "format" : "pem-certificate", | |
35822 | "optional" : 1, | |
35823 | "type" : "string" | |
35824 | }, | |
1c532546 TL |
35825 | "public-key-bits" : { |
35826 | "description" : "Certificate's public key size", | |
35827 | "optional" : 1, | |
35828 | "type" : "integer" | |
35829 | }, | |
35830 | "public-key-type" : { | |
35831 | "description" : "Certificate's public key algorithm", | |
35832 | "optional" : 1, | |
35833 | "type" : "string" | |
35834 | }, | |
a9a8e3d1 DM |
35835 | "san" : { |
35836 | "description" : "List of Certificate's SubjectAlternativeName entries.", | |
35837 | "items" : { | |
35838 | "type" : "string" | |
35839 | }, | |
35840 | "optional" : 1, | |
4d47f125 | 35841 | "renderer" : "yaml", |
a9a8e3d1 DM |
35842 | "type" : "array" |
35843 | }, | |
35844 | "subject" : { | |
35845 | "description" : "Certificate subject name.", | |
35846 | "optional" : 1, | |
35847 | "type" : "string" | |
35848 | } | |
35849 | }, | |
35850 | "type" : "object" | |
35851 | }, | |
35852 | "type" : "array" | |
35853 | } | |
35854 | } | |
35855 | }, | |
35856 | "leaf" : 1, | |
35857 | "path" : "/nodes/{node}/certificates/info", | |
35858 | "text" : "info" | |
35859 | }, | |
35860 | { | |
35861 | "info" : { | |
35862 | "DELETE" : { | |
e9cd3bd4 | 35863 | "allowtoken" : 1, |
a9a8e3d1 DM |
35864 | "description" : "DELETE custom certificate chain and key.", |
35865 | "method" : "DELETE", | |
35866 | "name" : "remove_custom_cert", | |
35867 | "parameters" : { | |
35868 | "additionalProperties" : 0, | |
35869 | "properties" : { | |
35870 | "node" : { | |
35871 | "description" : "The cluster node name.", | |
35872 | "format" : "pve-node", | |
35873 | "type" : "string", | |
35874 | "typetext" : "<string>" | |
35875 | }, | |
35876 | "restart" : { | |
35877 | "default" : 0, | |
35878 | "description" : "Restart pveproxy.", | |
35879 | "optional" : 1, | |
35880 | "type" : "boolean", | |
35881 | "typetext" : "<boolean>" | |
35882 | } | |
35883 | } | |
35884 | }, | |
35885 | "protected" : 1, | |
35886 | "proxyto" : "node", | |
35887 | "returns" : { | |
35888 | "type" : "null" | |
35889 | } | |
35890 | }, | |
35891 | "POST" : { | |
e9cd3bd4 | 35892 | "allowtoken" : 1, |
a9a8e3d1 DM |
35893 | "description" : "Upload or update custom certificate chain and key.", |
35894 | "method" : "POST", | |
35895 | "name" : "upload_custom_cert", | |
35896 | "parameters" : { | |
35897 | "additionalProperties" : 0, | |
35898 | "properties" : { | |
35899 | "certificates" : { | |
35900 | "description" : "PEM encoded certificate (chain).", | |
35901 | "format" : "pem-certificate-chain", | |
35902 | "type" : "string", | |
35903 | "typetext" : "<string>" | |
35904 | }, | |
35905 | "force" : { | |
35906 | "default" : 0, | |
35907 | "description" : "Overwrite existing custom or ACME certificate files.", | |
35908 | "optional" : 1, | |
35909 | "type" : "boolean", | |
35910 | "typetext" : "<boolean>" | |
35911 | }, | |
35912 | "key" : { | |
35913 | "description" : "PEM encoded private key.", | |
35914 | "format" : "pem-string", | |
35915 | "optional" : 1, | |
35916 | "type" : "string", | |
35917 | "typetext" : "<string>" | |
35918 | }, | |
35919 | "node" : { | |
35920 | "description" : "The cluster node name.", | |
35921 | "format" : "pve-node", | |
35922 | "type" : "string", | |
35923 | "typetext" : "<string>" | |
35924 | }, | |
35925 | "restart" : { | |
35926 | "default" : 0, | |
35927 | "description" : "Restart pveproxy.", | |
35928 | "optional" : 1, | |
35929 | "type" : "boolean", | |
35930 | "typetext" : "<boolean>" | |
35931 | } | |
35932 | } | |
35933 | }, | |
35934 | "protected" : 1, | |
35935 | "proxyto" : "node", | |
35936 | "returns" : { | |
35937 | "properties" : { | |
35938 | "filename" : { | |
35939 | "optional" : 1, | |
35940 | "type" : "string" | |
35941 | }, | |
35942 | "fingerprint" : { | |
35943 | "description" : "Certificate SHA 256 fingerprint.", | |
35944 | "optional" : 1, | |
35945 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
35946 | "type" : "string" | |
35947 | }, | |
35948 | "issuer" : { | |
35949 | "description" : "Certificate issuer name.", | |
35950 | "optional" : 1, | |
35951 | "type" : "string" | |
35952 | }, | |
35953 | "notafter" : { | |
35954 | "description" : "Certificate's notAfter timestamp (UNIX epoch).", | |
35955 | "optional" : 1, | |
4d47f125 | 35956 | "renderer" : "timestamp", |
a9a8e3d1 DM |
35957 | "type" : "integer" |
35958 | }, | |
35959 | "notbefore" : { | |
35960 | "description" : "Certificate's notBefore timestamp (UNIX epoch).", | |
35961 | "optional" : 1, | |
4d47f125 | 35962 | "renderer" : "timestamp", |
a9a8e3d1 DM |
35963 | "type" : "integer" |
35964 | }, | |
35965 | "pem" : { | |
35966 | "description" : "Certificate in PEM format", | |
35967 | "format" : "pem-certificate", | |
35968 | "optional" : 1, | |
35969 | "type" : "string" | |
35970 | }, | |
1c532546 TL |
35971 | "public-key-bits" : { |
35972 | "description" : "Certificate's public key size", | |
35973 | "optional" : 1, | |
35974 | "type" : "integer" | |
35975 | }, | |
35976 | "public-key-type" : { | |
35977 | "description" : "Certificate's public key algorithm", | |
35978 | "optional" : 1, | |
35979 | "type" : "string" | |
35980 | }, | |
a9a8e3d1 DM |
35981 | "san" : { |
35982 | "description" : "List of Certificate's SubjectAlternativeName entries.", | |
35983 | "items" : { | |
35984 | "type" : "string" | |
35985 | }, | |
35986 | "optional" : 1, | |
4d47f125 | 35987 | "renderer" : "yaml", |
a9a8e3d1 DM |
35988 | "type" : "array" |
35989 | }, | |
35990 | "subject" : { | |
35991 | "description" : "Certificate subject name.", | |
35992 | "optional" : 1, | |
35993 | "type" : "string" | |
35994 | } | |
35995 | }, | |
35996 | "type" : "object" | |
35997 | } | |
35998 | } | |
35999 | }, | |
36000 | "leaf" : 1, | |
36001 | "path" : "/nodes/{node}/certificates/custom", | |
36002 | "text" : "custom" | |
36003 | } | |
36004 | ], | |
36005 | "info" : { | |
36006 | "GET" : { | |
e9cd3bd4 | 36007 | "allowtoken" : 1, |
a9a8e3d1 DM |
36008 | "description" : "Node index.", |
36009 | "method" : "GET", | |
36010 | "name" : "index", | |
36011 | "parameters" : { | |
36012 | "additionalProperties" : 0, | |
36013 | "properties" : { | |
36014 | "node" : { | |
36015 | "description" : "The cluster node name.", | |
36016 | "format" : "pve-node", | |
36017 | "type" : "string", | |
36018 | "typetext" : "<string>" | |
36019 | } | |
36020 | } | |
36021 | }, | |
36022 | "permissions" : { | |
36023 | "user" : "all" | |
36024 | }, | |
36025 | "returns" : { | |
36026 | "items" : { | |
36027 | "properties" : {}, | |
36028 | "type" : "object" | |
36029 | }, | |
36030 | "links" : [ | |
36031 | { | |
36032 | "href" : "{name}", | |
36033 | "rel" : "child" | |
36034 | } | |
36035 | ], | |
36036 | "type" : "array" | |
36037 | } | |
36038 | } | |
36039 | }, | |
36040 | "leaf" : 0, | |
c5aa7e14 TL |
36041 | "path" : "/nodes/{node}/certificates", |
36042 | "text" : "certificates" | |
36043 | }, | |
36044 | { | |
36045 | "info" : { | |
36046 | "GET" : { | |
36047 | "allowtoken" : 1, | |
36048 | "description" : "Get node configuration options.", | |
36049 | "method" : "GET", | |
36050 | "name" : "get_config", | |
36051 | "parameters" : { | |
36052 | "additionalProperties" : 0, | |
36053 | "properties" : { | |
36054 | "node" : { | |
36055 | "description" : "The cluster node name.", | |
36056 | "format" : "pve-node", | |
36057 | "type" : "string", | |
36058 | "typetext" : "<string>" | |
36059 | }, | |
36060 | "property" : { | |
36061 | "default" : "all", | |
36062 | "description" : "Return only a specific property from the node configuration.", | |
36063 | "enum" : [ | |
36064 | "acme", | |
36065 | "acmedomain0", | |
36066 | "acmedomain1", | |
36067 | "acmedomain2", | |
36068 | "acmedomain3", | |
36069 | "acmedomain4", | |
36070 | "acmedomain5", | |
36071 | "description", | |
36072 | "startall-onboot-delay", | |
36073 | "wakeonlan" | |
36074 | ], | |
36075 | "optional" : 1, | |
36076 | "type" : "string" | |
36077 | } | |
36078 | } | |
36079 | }, | |
36080 | "permissions" : { | |
36081 | "check" : [ | |
36082 | "perm", | |
36083 | "/", | |
36084 | [ | |
36085 | "Sys.Audit" | |
36086 | ] | |
36087 | ] | |
36088 | }, | |
36089 | "proxyto" : "node", | |
36090 | "returns" : { | |
36091 | "type" : "object" | |
36092 | } | |
36093 | }, | |
36094 | "PUT" : { | |
36095 | "allowtoken" : 1, | |
36096 | "description" : "Set node configuration options.", | |
36097 | "method" : "PUT", | |
36098 | "name" : "set_options", | |
36099 | "parameters" : { | |
36100 | "additionalProperties" : 0, | |
36101 | "properties" : { | |
36102 | "acme" : { | |
36103 | "description" : "Node specific ACME settings.", | |
36104 | "format" : { | |
36105 | "account" : { | |
36106 | "default" : "default", | |
36107 | "description" : "ACME account config file name.", | |
36108 | "format" : "pve-configid", | |
36109 | "format_description" : "name", | |
36110 | "optional" : 1, | |
36111 | "type" : "string" | |
36112 | }, | |
36113 | "domains" : { | |
36114 | "description" : "List of domains for this node's ACME certificate", | |
36115 | "format" : "pve-acme-domain-list", | |
36116 | "format_description" : "domain[;domain;...]", | |
36117 | "optional" : 1, | |
36118 | "type" : "string" | |
36119 | } | |
36120 | }, | |
36121 | "optional" : 1, | |
36122 | "type" : "string", | |
36123 | "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]" | |
36124 | }, | |
36125 | "acmedomain[n]" : { | |
36126 | "description" : "ACME domain and validation plugin", | |
36127 | "format" : { | |
36128 | "alias" : { | |
36129 | "description" : "Alias for the Domain to verify ACME Challenge over DNS", | |
36130 | "format" : "pve-acme-domain", | |
36131 | "format_description" : "domain", | |
36132 | "optional" : 1, | |
36133 | "type" : "string" | |
36134 | }, | |
36135 | "domain" : { | |
36136 | "default_key" : 1, | |
36137 | "description" : "domain for this node's ACME certificate", | |
36138 | "format" : "pve-acme-domain", | |
36139 | "format_description" : "domain", | |
36140 | "type" : "string" | |
36141 | }, | |
36142 | "plugin" : { | |
36143 | "default" : "standalone", | |
36144 | "description" : "The ACME plugin ID", | |
36145 | "format" : "pve-configid", | |
36146 | "format_description" : "name of the plugin configuration", | |
36147 | "optional" : 1, | |
36148 | "type" : "string" | |
36149 | } | |
36150 | }, | |
36151 | "optional" : 1, | |
36152 | "type" : "string", | |
36153 | "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]" | |
36154 | }, | |
36155 | "delete" : { | |
36156 | "description" : "A list of settings you want to delete.", | |
36157 | "format" : "pve-configid-list", | |
36158 | "optional" : 1, | |
36159 | "type" : "string", | |
36160 | "typetext" : "<string>" | |
36161 | }, | |
36162 | "description" : { | |
36163 | "description" : "Node description/comment.", | |
36164 | "optional" : 1, | |
36165 | "type" : "string", | |
36166 | "typetext" : "<string>" | |
36167 | }, | |
36168 | "digest" : { | |
36169 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
36170 | "maxLength" : 40, | |
36171 | "optional" : 1, | |
36172 | "type" : "string", | |
36173 | "typetext" : "<string>" | |
36174 | }, | |
36175 | "node" : { | |
36176 | "description" : "The cluster node name.", | |
36177 | "format" : "pve-node", | |
36178 | "type" : "string", | |
36179 | "typetext" : "<string>" | |
36180 | }, | |
36181 | "startall-onboot-delay" : { | |
36182 | "default" : 0, | |
36183 | "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.", | |
36184 | "maximum" : 300, | |
36185 | "minimum" : 0, | |
36186 | "optional" : 1, | |
36187 | "type" : "integer", | |
36188 | "typetext" : "<integer> (0 - 300)" | |
36189 | }, | |
36190 | "wakeonlan" : { | |
36191 | "description" : "MAC address for wake on LAN", | |
36192 | "format" : "mac-addr", | |
36193 | "optional" : 1, | |
36194 | "type" : "string", | |
36195 | "typetext" : "<string>" | |
36196 | } | |
36197 | } | |
36198 | }, | |
36199 | "permissions" : { | |
36200 | "check" : [ | |
36201 | "perm", | |
36202 | "/", | |
36203 | [ | |
36204 | "Sys.Modify" | |
36205 | ] | |
36206 | ] | |
36207 | }, | |
36208 | "protected" : 1, | |
36209 | "proxyto" : "node", | |
36210 | "returns" : { | |
36211 | "type" : "null" | |
36212 | } | |
36213 | } | |
36214 | }, | |
36215 | "leaf" : 1, | |
36216 | "path" : "/nodes/{node}/config", | |
36217 | "text" : "config" | |
36218 | }, | |
36219 | { | |
36220 | "children" : [ | |
36221 | { | |
36222 | "children" : [ | |
36223 | { | |
36224 | "children" : [ | |
36225 | { | |
36226 | "info" : { | |
36227 | "GET" : { | |
36228 | "allowtoken" : 1, | |
36229 | "description" : "List zone content.", | |
36230 | "method" : "GET", | |
36231 | "name" : "index", | |
36232 | "parameters" : { | |
36233 | "additionalProperties" : 0, | |
36234 | "properties" : { | |
36235 | "node" : { | |
36236 | "description" : "The cluster node name.", | |
36237 | "format" : "pve-node", | |
36238 | "type" : "string", | |
36239 | "typetext" : "<string>" | |
36240 | }, | |
36241 | "zone" : { | |
36242 | "description" : "The SDN zone object identifier.", | |
36243 | "format" : "pve-sdn-zone-id", | |
36244 | "type" : "string", | |
36245 | "typetext" : "<string>" | |
36246 | } | |
36247 | } | |
36248 | }, | |
36249 | "permissions" : { | |
36250 | "check" : [ | |
36251 | "perm", | |
36252 | "/sdn/zones/{zone}", | |
36253 | [ | |
36254 | "SDN.Audit" | |
36255 | ], | |
36256 | "any", | |
36257 | 1 | |
36258 | ] | |
36259 | }, | |
36260 | "protected" : 1, | |
36261 | "proxyto" : "node", | |
36262 | "returns" : { | |
36263 | "items" : { | |
36264 | "properties" : { | |
36265 | "status" : { | |
36266 | "description" : "Status.", | |
36267 | "optional" : 1, | |
36268 | "type" : "string" | |
36269 | }, | |
36270 | "statusmsg" : { | |
36271 | "description" : "Status details", | |
36272 | "optional" : 1, | |
36273 | "type" : "string" | |
36274 | }, | |
36275 | "vnet" : { | |
36276 | "description" : "Vnet identifier.", | |
36277 | "type" : "string" | |
36278 | } | |
36279 | }, | |
36280 | "type" : "object" | |
36281 | }, | |
36282 | "links" : [ | |
36283 | { | |
36284 | "href" : "{vnet}", | |
36285 | "rel" : "child" | |
36286 | } | |
36287 | ], | |
36288 | "type" : "array" | |
36289 | } | |
36290 | } | |
36291 | }, | |
36292 | "leaf" : 1, | |
36293 | "path" : "/nodes/{node}/sdn/zones/{zone}/content", | |
36294 | "text" : "content" | |
36295 | } | |
36296 | ], | |
36297 | "info" : { | |
36298 | "GET" : { | |
36299 | "allowtoken" : 1, | |
36300 | "description" : "", | |
36301 | "method" : "GET", | |
36302 | "name" : "diridx", | |
36303 | "parameters" : { | |
36304 | "additionalProperties" : 0, | |
36305 | "properties" : { | |
36306 | "node" : { | |
36307 | "description" : "The cluster node name.", | |
36308 | "format" : "pve-node", | |
36309 | "type" : "string", | |
36310 | "typetext" : "<string>" | |
36311 | }, | |
36312 | "zone" : { | |
36313 | "description" : "The SDN zone object identifier.", | |
36314 | "format" : "pve-sdn-zone-id", | |
36315 | "type" : "string", | |
36316 | "typetext" : "<string>" | |
36317 | } | |
36318 | } | |
36319 | }, | |
36320 | "permissions" : { | |
36321 | "check" : [ | |
36322 | "perm", | |
36323 | "/sdn/zones/{zone}", | |
36324 | [ | |
36325 | "SDN.Audit" | |
36326 | ], | |
36327 | "any", | |
36328 | 1 | |
36329 | ] | |
36330 | }, | |
36331 | "returns" : { | |
36332 | "items" : { | |
36333 | "properties" : { | |
36334 | "subdir" : { | |
36335 | "type" : "string" | |
36336 | } | |
36337 | }, | |
36338 | "type" : "object" | |
36339 | }, | |
36340 | "links" : [ | |
36341 | { | |
36342 | "href" : "{subdir}", | |
36343 | "rel" : "child" | |
36344 | } | |
36345 | ], | |
36346 | "type" : "array" | |
36347 | } | |
36348 | } | |
36349 | }, | |
36350 | "leaf" : 0, | |
36351 | "path" : "/nodes/{node}/sdn/zones/{zone}", | |
36352 | "text" : "{zone}" | |
36353 | } | |
36354 | ], | |
36355 | "info" : { | |
36356 | "GET" : { | |
36357 | "allowtoken" : 1, | |
36358 | "description" : "Get status for all zones.", | |
36359 | "method" : "GET", | |
36360 | "name" : "index", | |
36361 | "parameters" : { | |
36362 | "additionalProperties" : 0, | |
36363 | "properties" : { | |
36364 | "node" : { | |
36365 | "description" : "The cluster node name.", | |
36366 | "format" : "pve-node", | |
36367 | "type" : "string", | |
36368 | "typetext" : "<string>" | |
36369 | } | |
36370 | } | |
36371 | }, | |
36372 | "permissions" : { | |
36373 | "description" : "Only list entries where you have 'SDN.Audit'", | |
36374 | "user" : "all" | |
36375 | }, | |
36376 | "protected" : 1, | |
36377 | "proxyto" : "node", | |
36378 | "returns" : { | |
36379 | "items" : { | |
36380 | "properties" : { | |
36381 | "status" : { | |
36382 | "description" : "Status of zone", | |
36383 | "type" : "string" | |
36384 | }, | |
36385 | "zone" : { | |
36386 | "description" : "The SDN zone object identifier.", | |
36387 | "format" : "pve-sdn-zone-id", | |
36388 | "type" : "string" | |
36389 | } | |
36390 | }, | |
36391 | "type" : "object" | |
36392 | }, | |
36393 | "links" : [ | |
36394 | { | |
36395 | "href" : "{zone}", | |
36396 | "rel" : "child" | |
36397 | } | |
36398 | ], | |
36399 | "type" : "array" | |
36400 | } | |
36401 | } | |
36402 | }, | |
36403 | "leaf" : 0, | |
36404 | "path" : "/nodes/{node}/sdn/zones", | |
36405 | "text" : "zones" | |
36406 | } | |
36407 | ], | |
36408 | "info" : { | |
36409 | "GET" : { | |
36410 | "allowtoken" : 1, | |
36411 | "description" : "SDN index.", | |
36412 | "method" : "GET", | |
36413 | "name" : "sdnindex", | |
36414 | "parameters" : { | |
36415 | "additionalProperties" : 0, | |
36416 | "properties" : { | |
36417 | "node" : { | |
36418 | "description" : "The cluster node name.", | |
36419 | "format" : "pve-node", | |
36420 | "type" : "string", | |
36421 | "typetext" : "<string>" | |
36422 | } | |
36423 | } | |
36424 | }, | |
36425 | "permissions" : { | |
36426 | "user" : "all" | |
36427 | }, | |
36428 | "returns" : { | |
36429 | "items" : { | |
36430 | "properties" : {}, | |
36431 | "type" : "object" | |
36432 | }, | |
36433 | "links" : [ | |
36434 | { | |
36435 | "href" : "{name}", | |
36436 | "rel" : "child" | |
36437 | } | |
36438 | ], | |
36439 | "type" : "array" | |
36440 | } | |
36441 | } | |
36442 | }, | |
36443 | "leaf" : 0, | |
36444 | "path" : "/nodes/{node}/sdn", | |
36445 | "text" : "sdn" | |
a9a8e3d1 | 36446 | }, |
56122987 | 36447 | { |
56122987 DM |
36448 | "info" : { |
36449 | "GET" : { | |
e9cd3bd4 | 36450 | "allowtoken" : 1, |
44660702 DM |
36451 | "description" : "API version details", |
36452 | "method" : "GET", | |
36453 | "name" : "version", | |
56122987 | 36454 | "parameters" : { |
44660702 | 36455 | "additionalProperties" : 0, |
56122987 DM |
36456 | "properties" : { |
36457 | "node" : { | |
56122987 | 36458 | "description" : "The cluster node name.", |
44660702 | 36459 | "format" : "pve-node", |
013dc89f DM |
36460 | "type" : "string", |
36461 | "typetext" : "<string>" | |
56122987 | 36462 | } |
44660702 | 36463 | } |
56122987 | 36464 | }, |
56122987 | 36465 | "permissions" : { |
7aacca6f | 36466 | "user" : "all" |
56122987 | 36467 | }, |
56122987 | 36468 | "proxyto" : "node", |
56122987 | 36469 | "returns" : { |
56122987 | 36470 | "properties" : { |
44660702 | 36471 | "release" : { |
1e3f8156 | 36472 | "description" : "The current installed Proxmox VE Release", |
56122987 DM |
36473 | "type" : "string" |
36474 | }, | |
44660702 | 36475 | "repoid" : { |
1e3f8156 | 36476 | "description" : "The short git commit hash ID from which this version was build", |
7aacca6f DM |
36477 | "type" : "string" |
36478 | }, | |
36479 | "version" : { | |
1e3f8156 | 36480 | "description" : "The current installed pve-manager package version", |
7aacca6f DM |
36481 | "type" : "string" |
36482 | } | |
44660702 DM |
36483 | }, |
36484 | "type" : "object" | |
7aacca6f | 36485 | } |
56122987 DM |
36486 | } |
36487 | }, | |
56122987 | 36488 | "leaf" : 1, |
44660702 DM |
36489 | "path" : "/nodes/{node}/version", |
36490 | "text" : "version" | |
56122987 DM |
36491 | }, |
36492 | { | |
56122987 DM |
36493 | "info" : { |
36494 | "GET" : { | |
e9cd3bd4 | 36495 | "allowtoken" : 1, |
7aacca6f | 36496 | "description" : "Read node status", |
44660702 | 36497 | "method" : "GET", |
7aacca6f | 36498 | "name" : "status", |
56122987 | 36499 | "parameters" : { |
44660702 | 36500 | "additionalProperties" : 0, |
56122987 DM |
36501 | "properties" : { |
36502 | "node" : { | |
7aacca6f | 36503 | "description" : "The cluster node name.", |
44660702 | 36504 | "format" : "pve-node", |
013dc89f DM |
36505 | "type" : "string", |
36506 | "typetext" : "<string>" | |
56122987 | 36507 | } |
44660702 | 36508 | } |
56122987 | 36509 | }, |
56122987 DM |
36510 | "permissions" : { |
36511 | "check" : [ | |
36512 | "perm", | |
36513 | "/nodes/{node}", | |
36514 | [ | |
36515 | "Sys.Audit" | |
36516 | ] | |
36517 | ] | |
44660702 DM |
36518 | }, |
36519 | "proxyto" : "node", | |
36520 | "returns" : { | |
44660702 | 36521 | "type" : "object" |
7aacca6f DM |
36522 | } |
36523 | }, | |
36524 | "POST" : { | |
e9cd3bd4 | 36525 | "allowtoken" : 1, |
44660702 DM |
36526 | "description" : "Reboot or shutdown a node.", |
36527 | "method" : "POST", | |
7aacca6f | 36528 | "name" : "node_cmd", |
56122987 | 36529 | "parameters" : { |
44660702 | 36530 | "additionalProperties" : 0, |
56122987 | 36531 | "properties" : { |
7aacca6f DM |
36532 | "command" : { |
36533 | "description" : "Specify the command.", | |
56122987 | 36534 | "enum" : [ |
7aacca6f DM |
36535 | "reboot", |
36536 | "shutdown" | |
56122987 DM |
36537 | ], |
36538 | "type" : "string" | |
44660702 DM |
36539 | }, |
36540 | "node" : { | |
36541 | "description" : "The cluster node name.", | |
36542 | "format" : "pve-node", | |
013dc89f DM |
36543 | "type" : "string", |
36544 | "typetext" : "<string>" | |
56122987 | 36545 | } |
44660702 | 36546 | } |
7aacca6f | 36547 | }, |
7aacca6f DM |
36548 | "permissions" : { |
36549 | "check" : [ | |
36550 | "perm", | |
36551 | "/nodes/{node}", | |
36552 | [ | |
36553 | "Sys.PowerMgmt" | |
36554 | ] | |
36555 | ] | |
36556 | }, | |
44660702 | 36557 | "protected" : 1, |
7aacca6f | 36558 | "proxyto" : "node", |
7aacca6f DM |
36559 | "returns" : { |
36560 | "type" : "null" | |
56122987 DM |
36561 | } |
36562 | } | |
36563 | }, | |
7aacca6f | 36564 | "leaf" : 1, |
44660702 DM |
36565 | "path" : "/nodes/{node}/status", |
36566 | "text" : "status" | |
56122987 DM |
36567 | }, |
36568 | { | |
56122987 DM |
36569 | "info" : { |
36570 | "GET" : { | |
e9cd3bd4 | 36571 | "allowtoken" : 1, |
44660702 DM |
36572 | "description" : "Read tap/vm network device interface counters", |
36573 | "method" : "GET", | |
36574 | "name" : "netstat", | |
36575 | "parameters" : { | |
36576 | "additionalProperties" : 0, | |
36577 | "properties" : { | |
36578 | "node" : { | |
36579 | "description" : "The cluster node name.", | |
36580 | "format" : "pve-node", | |
013dc89f DM |
36581 | "type" : "string", |
36582 | "typetext" : "<string>" | |
44660702 | 36583 | } |
56122987 DM |
36584 | } |
36585 | }, | |
36586 | "permissions" : { | |
36587 | "check" : [ | |
36588 | "perm", | |
36589 | "/nodes/{node}", | |
36590 | [ | |
7aacca6f | 36591 | "Sys.Audit" |
56122987 DM |
36592 | ] |
36593 | ] | |
36594 | }, | |
7aacca6f | 36595 | "proxyto" : "node", |
44660702 DM |
36596 | "returns" : { |
36597 | "items" : { | |
36598 | "properties" : {}, | |
36599 | "type" : "object" | |
36600 | }, | |
36601 | "type" : "array" | |
36602 | } | |
7aacca6f DM |
36603 | } |
36604 | }, | |
44660702 DM |
36605 | "leaf" : 1, |
36606 | "path" : "/nodes/{node}/netstat", | |
7aacca6f DM |
36607 | "text" : "netstat" |
36608 | }, | |
36609 | { | |
36610 | "info" : { | |
36611 | "POST" : { | |
e9cd3bd4 | 36612 | "allowtoken" : 1, |
7aacca6f | 36613 | "description" : "Execute multiple commands in order.", |
7aacca6f | 36614 | "method" : "POST", |
7aacca6f | 36615 | "name" : "execute", |
56122987 DM |
36616 | "parameters" : { |
36617 | "additionalProperties" : 0, | |
36618 | "properties" : { | |
7aacca6f DM |
36619 | "commands" : { |
36620 | "description" : "JSON encoded array of commands.", | |
013dc89f DM |
36621 | "type" : "string", |
36622 | "typetext" : "<string>" | |
56122987 DM |
36623 | }, |
36624 | "node" : { | |
44660702 | 36625 | "description" : "The cluster node name.", |
56122987 | 36626 | "format" : "pve-node", |
013dc89f DM |
36627 | "type" : "string", |
36628 | "typetext" : "<string>" | |
56122987 DM |
36629 | } |
36630 | } | |
44660702 DM |
36631 | }, |
36632 | "permissions" : { | |
36633 | "check" : [ | |
36634 | "perm", | |
36635 | "/nodes/{node}", | |
36636 | [ | |
36637 | "Sys.Audit" | |
36638 | ] | |
36639 | ] | |
36640 | }, | |
36641 | "protected" : 1, | |
36642 | "proxyto" : "node", | |
36643 | "returns" : { | |
44660702 | 36644 | "type" : "array" |
56122987 DM |
36645 | } |
36646 | } | |
36647 | }, | |
56122987 | 36648 | "leaf" : 1, |
44660702 DM |
36649 | "path" : "/nodes/{node}/execute", |
36650 | "text" : "execute" | |
56122987 | 36651 | }, |
5f26e15b TL |
36652 | { |
36653 | "info" : { | |
36654 | "POST" : { | |
e9cd3bd4 | 36655 | "allowtoken" : 1, |
5f26e15b TL |
36656 | "description" : "Try to wake a node via 'wake on LAN' network packet.", |
36657 | "method" : "POST", | |
36658 | "name" : "wakeonlan", | |
36659 | "parameters" : { | |
36660 | "additionalProperties" : 0, | |
36661 | "properties" : { | |
36662 | "node" : { | |
36663 | "description" : "target node for wake on LAN packet", | |
36664 | "format" : "pve-node", | |
36665 | "type" : "string", | |
36666 | "typetext" : "<string>" | |
36667 | } | |
36668 | } | |
36669 | }, | |
36670 | "permissions" : { | |
36671 | "check" : [ | |
36672 | "perm", | |
36673 | "/nodes/{node}", | |
36674 | [ | |
36675 | "Sys.PowerMgmt" | |
36676 | ] | |
36677 | ] | |
36678 | }, | |
36679 | "protected" : 1, | |
36680 | "returns" : { | |
36681 | "description" : "MAC address used to assemble the WoL magic packet.", | |
36682 | "format" : "mac-addr", | |
36683 | "type" : "string" | |
36684 | } | |
36685 | } | |
36686 | }, | |
36687 | "leaf" : 1, | |
36688 | "path" : "/nodes/{node}/wakeonlan", | |
36689 | "text" : "wakeonlan" | |
36690 | }, | |
56122987 DM |
36691 | { |
36692 | "info" : { | |
7aacca6f | 36693 | "GET" : { |
e9cd3bd4 | 36694 | "allowtoken" : 1, |
44660702 DM |
36695 | "description" : "Read node RRD statistics (returns PNG)", |
36696 | "method" : "GET", | |
7aacca6f | 36697 | "name" : "rrd", |
56122987 | 36698 | "parameters" : { |
7aacca6f | 36699 | "additionalProperties" : 0, |
56122987 | 36700 | "properties" : { |
44660702 DM |
36701 | "cf" : { |
36702 | "description" : "The RRD consolidation function", | |
36703 | "enum" : [ | |
36704 | "AVERAGE", | |
36705 | "MAX" | |
36706 | ], | |
36707 | "optional" : 1, | |
36708 | "type" : "string" | |
36709 | }, | |
7aacca6f | 36710 | "ds" : { |
7aacca6f | 36711 | "description" : "The list of datasources you want to display.", |
44660702 | 36712 | "format" : "pve-configid-list", |
013dc89f DM |
36713 | "type" : "string", |
36714 | "typetext" : "<string>" | |
44660702 DM |
36715 | }, |
36716 | "node" : { | |
36717 | "description" : "The cluster node name.", | |
36718 | "format" : "pve-node", | |
013dc89f DM |
36719 | "type" : "string", |
36720 | "typetext" : "<string>" | |
7aacca6f DM |
36721 | }, |
36722 | "timeframe" : { | |
36723 | "description" : "Specify the time frame you are interested in.", | |
36724 | "enum" : [ | |
36725 | "hour", | |
36726 | "day", | |
36727 | "week", | |
36728 | "month", | |
36729 | "year" | |
36730 | ], | |
36731 | "type" : "string" | |
56122987 | 36732 | } |
7aacca6f | 36733 | } |
56122987 | 36734 | }, |
56122987 | 36735 | "permissions" : { |
56122987 DM |
36736 | "check" : [ |
36737 | "perm", | |
36738 | "/nodes/{node}", | |
36739 | [ | |
7aacca6f | 36740 | "Sys.Audit" |
56122987 DM |
36741 | ] |
36742 | ] | |
36743 | }, | |
7aacca6f | 36744 | "protected" : 1, |
56122987 | 36745 | "returns" : { |
56122987 | 36746 | "properties" : { |
7aacca6f | 36747 | "filename" : { |
56122987 DM |
36748 | "type" : "string" |
36749 | } | |
44660702 DM |
36750 | }, |
36751 | "type" : "object" | |
36752 | } | |
56122987 DM |
36753 | } |
36754 | }, | |
44660702 | 36755 | "leaf" : 1, |
7aacca6f | 36756 | "path" : "/nodes/{node}/rrd", |
44660702 | 36757 | "text" : "rrd" |
56122987 DM |
36758 | }, |
36759 | { | |
36760 | "info" : { | |
7aacca6f | 36761 | "GET" : { |
e9cd3bd4 | 36762 | "allowtoken" : 1, |
44660702 DM |
36763 | "description" : "Read node RRD statistics", |
36764 | "method" : "GET", | |
7aacca6f | 36765 | "name" : "rrddata", |
56122987 | 36766 | "parameters" : { |
44660702 | 36767 | "additionalProperties" : 0, |
56122987 | 36768 | "properties" : { |
7aacca6f | 36769 | "cf" : { |
7aacca6f DM |
36770 | "description" : "The RRD consolidation function", |
36771 | "enum" : [ | |
36772 | "AVERAGE", | |
36773 | "MAX" | |
44660702 DM |
36774 | ], |
36775 | "optional" : 1, | |
36776 | "type" : "string" | |
56122987 DM |
36777 | }, |
36778 | "node" : { | |
44660702 | 36779 | "description" : "The cluster node name.", |
56122987 | 36780 | "format" : "pve-node", |
013dc89f DM |
36781 | "type" : "string", |
36782 | "typetext" : "<string>" | |
56122987 | 36783 | }, |
7aacca6f | 36784 | "timeframe" : { |
7aacca6f DM |
36785 | "description" : "Specify the time frame you are interested in.", |
36786 | "enum" : [ | |
36787 | "hour", | |
36788 | "day", | |
36789 | "week", | |
36790 | "month", | |
36791 | "year" | |
44660702 DM |
36792 | ], |
36793 | "type" : "string" | |
56122987 | 36794 | } |
56122987 DM |
36795 | } |
36796 | }, | |
56122987 DM |
36797 | "permissions" : { |
36798 | "check" : [ | |
36799 | "perm", | |
36800 | "/nodes/{node}", | |
36801 | [ | |
44660702 | 36802 | "Sys.Audit" |
56122987 DM |
36803 | ] |
36804 | ] | |
7aacca6f | 36805 | }, |
44660702 | 36806 | "protected" : 1, |
56122987 | 36807 | "returns" : { |
7aacca6f | 36808 | "items" : { |
44660702 | 36809 | "properties" : {}, |
7aacca6f DM |
36810 | "type" : "object" |
36811 | }, | |
36812 | "type" : "array" | |
44660702 DM |
36813 | } |
36814 | } | |
36815 | }, | |
36816 | "leaf" : 1, | |
36817 | "path" : "/nodes/{node}/rrddata", | |
36818 | "text" : "rrddata" | |
36819 | }, | |
36820 | { | |
36821 | "info" : { | |
36822 | "GET" : { | |
e9cd3bd4 | 36823 | "allowtoken" : 1, |
44660702 DM |
36824 | "description" : "Read system log", |
36825 | "method" : "GET", | |
36826 | "name" : "syslog", | |
56122987 | 36827 | "parameters" : { |
44660702 | 36828 | "additionalProperties" : 0, |
56122987 | 36829 | "properties" : { |
44660702 DM |
36830 | "limit" : { |
36831 | "minimum" : 0, | |
7aacca6f | 36832 | "optional" : 1, |
4bd7df8b | 36833 | "type" : "integer", |
013dc89f | 36834 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 36835 | }, |
56122987 | 36836 | "node" : { |
7aacca6f | 36837 | "description" : "The cluster node name.", |
44660702 | 36838 | "format" : "pve-node", |
013dc89f DM |
36839 | "type" : "string", |
36840 | "typetext" : "<string>" | |
56122987 | 36841 | }, |
35a75dd3 DM |
36842 | "service" : { |
36843 | "description" : "Service ID", | |
36844 | "maxLength" : 128, | |
36845 | "optional" : 1, | |
36846 | "type" : "string", | |
36847 | "typetext" : "<string>" | |
36848 | }, | |
44660702 DM |
36849 | "since" : { |
36850 | "description" : "Display all log since this date-time string.", | |
36851 | "optional" : 1, | |
36852 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", | |
36853 | "type" : "string" | |
36854 | }, | |
36855 | "start" : { | |
7aacca6f DM |
36856 | "minimum" : 0, |
36857 | "optional" : 1, | |
4bd7df8b | 36858 | "type" : "integer", |
013dc89f | 36859 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
36860 | }, |
36861 | "until" : { | |
36862 | "description" : "Display all log until this date-time string.", | |
7aacca6f | 36863 | "optional" : 1, |
44660702 | 36864 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", |
56122987 DM |
36865 | "type" : "string" |
36866 | } | |
44660702 | 36867 | } |
56122987 | 36868 | }, |
44660702 DM |
36869 | "permissions" : { |
36870 | "check" : [ | |
36871 | "perm", | |
36872 | "/nodes/{node}", | |
36873 | [ | |
36874 | "Sys.Syslog" | |
36875 | ] | |
36876 | ] | |
36877 | }, | |
36878 | "protected" : 1, | |
36879 | "proxyto" : "node", | |
36880 | "returns" : { | |
36881 | "items" : { | |
36882 | "properties" : { | |
36883 | "n" : { | |
36884 | "description" : "Line number", | |
36885 | "type" : "integer" | |
36886 | }, | |
36887 | "t" : { | |
36888 | "description" : "Line text", | |
36889 | "type" : "string" | |
36890 | } | |
36891 | }, | |
36892 | "type" : "object" | |
36893 | }, | |
36894 | "type" : "array" | |
36895 | } | |
56122987 DM |
36896 | } |
36897 | }, | |
44660702 DM |
36898 | "leaf" : 1, |
36899 | "path" : "/nodes/{node}/syslog", | |
7aacca6f | 36900 | "text" : "syslog" |
56122987 | 36901 | }, |
bb4c8cf8 TL |
36902 | { |
36903 | "info" : { | |
36904 | "GET" : { | |
e9cd3bd4 | 36905 | "allowtoken" : 1, |
bb4c8cf8 TL |
36906 | "description" : "Read Journal", |
36907 | "method" : "GET", | |
36908 | "name" : "journal", | |
36909 | "parameters" : { | |
36910 | "additionalProperties" : 0, | |
36911 | "properties" : { | |
36912 | "endcursor" : { | |
36913 | "description" : "End before the given Cursor. Conflicts with 'until'", | |
36914 | "optional" : 1, | |
36915 | "type" : "string", | |
36916 | "typetext" : "<string>" | |
36917 | }, | |
36918 | "lastentries" : { | |
36919 | "description" : "Limit to the last X lines. Conflicts with a range.", | |
36920 | "minimum" : 0, | |
36921 | "optional" : 1, | |
36922 | "type" : "integer", | |
36923 | "typetext" : "<integer> (0 - N)" | |
36924 | }, | |
36925 | "node" : { | |
36926 | "description" : "The cluster node name.", | |
36927 | "format" : "pve-node", | |
36928 | "type" : "string", | |
36929 | "typetext" : "<string>" | |
36930 | }, | |
36931 | "since" : { | |
36932 | "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.", | |
36933 | "minimum" : 0, | |
36934 | "optional" : 1, | |
36935 | "type" : "integer", | |
36936 | "typetext" : "<integer> (0 - N)" | |
36937 | }, | |
36938 | "startcursor" : { | |
36939 | "description" : "Start after the given Cursor. Conflicts with 'since'", | |
36940 | "optional" : 1, | |
36941 | "type" : "string", | |
36942 | "typetext" : "<string>" | |
36943 | }, | |
36944 | "until" : { | |
36945 | "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.", | |
36946 | "minimum" : 0, | |
36947 | "optional" : 1, | |
36948 | "type" : "integer", | |
36949 | "typetext" : "<integer> (0 - N)" | |
36950 | } | |
36951 | } | |
36952 | }, | |
36953 | "permissions" : { | |
36954 | "check" : [ | |
36955 | "perm", | |
36956 | "/nodes/{node}", | |
36957 | [ | |
36958 | "Sys.Syslog" | |
36959 | ] | |
36960 | ] | |
36961 | }, | |
36962 | "protected" : 1, | |
36963 | "proxyto" : "node", | |
36964 | "returns" : { | |
36965 | "items" : { | |
36966 | "type" : "string" | |
36967 | }, | |
36968 | "type" : "array" | |
36969 | } | |
36970 | } | |
36971 | }, | |
36972 | "leaf" : 1, | |
36973 | "path" : "/nodes/{node}/journal", | |
36974 | "text" : "journal" | |
36975 | }, | |
56122987 | 36976 | { |
56122987 DM |
36977 | "info" : { |
36978 | "POST" : { | |
e9cd3bd4 | 36979 | "allowtoken" : 1, |
44660702 DM |
36980 | "description" : "Creates a VNC Shell proxy.", |
36981 | "method" : "POST", | |
36982 | "name" : "vncshell", | |
36983 | "parameters" : { | |
36984 | "additionalProperties" : 0, | |
56122987 | 36985 | "properties" : { |
95895385 TL |
36986 | "cmd" : { |
36987 | "default" : "login", | |
36988 | "description" : "Run specific command or default to login.", | |
36989 | "enum" : [ | |
e9cd3bd4 | 36990 | "upgrade", |
c5aa7e14 TL |
36991 | "ceph_install", |
36992 | "login" | |
95895385 TL |
36993 | ], |
36994 | "optional" : 1, | |
36995 | "type" : "string" | |
36996 | }, | |
5d9c884c DM |
36997 | "height" : { |
36998 | "description" : "sets the height of the console in pixels.", | |
36999 | "maximum" : 2160, | |
37000 | "minimum" : 16, | |
37001 | "optional" : 1, | |
37002 | "type" : "integer", | |
37003 | "typetext" : "<integer> (16 - 2160)" | |
37004 | }, | |
44660702 DM |
37005 | "node" : { |
37006 | "description" : "The cluster node name.", | |
37007 | "format" : "pve-node", | |
013dc89f DM |
37008 | "type" : "string", |
37009 | "typetext" : "<string>" | |
7aacca6f | 37010 | }, |
44660702 DM |
37011 | "upgrade" : { |
37012 | "default" : 0, | |
95895385 | 37013 | "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.", |
44660702 | 37014 | "optional" : 1, |
013dc89f DM |
37015 | "type" : "boolean", |
37016 | "typetext" : "<boolean>" | |
7aacca6f | 37017 | }, |
44660702 DM |
37018 | "websocket" : { |
37019 | "description" : "use websocket instead of standard vnc.", | |
37020 | "optional" : 1, | |
013dc89f DM |
37021 | "type" : "boolean", |
37022 | "typetext" : "<boolean>" | |
5d9c884c DM |
37023 | }, |
37024 | "width" : { | |
37025 | "description" : "sets the width of the console in pixels.", | |
37026 | "maximum" : 4096, | |
37027 | "minimum" : 16, | |
37028 | "optional" : 1, | |
37029 | "type" : "integer", | |
37030 | "typetext" : "<integer> (16 - 4096)" | |
56122987 | 37031 | } |
44660702 | 37032 | } |
56122987 | 37033 | }, |
56122987 DM |
37034 | "permissions" : { |
37035 | "check" : [ | |
37036 | "perm", | |
7aacca6f | 37037 | "/nodes/{node}", |
56122987 | 37038 | [ |
7aacca6f | 37039 | "Sys.Console" |
56122987 | 37040 | ] |
44660702 DM |
37041 | ], |
37042 | "description" : "Restricted to users on realm 'pam'" | |
56122987 | 37043 | }, |
44660702 DM |
37044 | "protected" : 1, |
37045 | "returns" : { | |
37046 | "additionalProperties" : 0, | |
56122987 | 37047 | "properties" : { |
44660702 DM |
37048 | "cert" : { |
37049 | "type" : "string" | |
7aacca6f | 37050 | }, |
44660702 DM |
37051 | "port" : { |
37052 | "type" : "integer" | |
7aacca6f | 37053 | }, |
44660702 DM |
37054 | "ticket" : { |
37055 | "type" : "string" | |
37056 | }, | |
37057 | "upid" : { | |
37058 | "type" : "string" | |
37059 | }, | |
37060 | "user" : { | |
37061 | "type" : "string" | |
56122987 | 37062 | } |
44660702 DM |
37063 | } |
37064 | } | |
56122987 DM |
37065 | } |
37066 | }, | |
7aacca6f | 37067 | "leaf" : 1, |
44660702 DM |
37068 | "path" : "/nodes/{node}/vncshell", |
37069 | "text" : "vncshell" | |
56122987 | 37070 | }, |
35a75dd3 DM |
37071 | { |
37072 | "info" : { | |
37073 | "POST" : { | |
e9cd3bd4 | 37074 | "allowtoken" : 1, |
35a75dd3 DM |
37075 | "description" : "Creates a VNC Shell proxy.", |
37076 | "method" : "POST", | |
37077 | "name" : "termproxy", | |
37078 | "parameters" : { | |
37079 | "additionalProperties" : 0, | |
37080 | "properties" : { | |
95895385 TL |
37081 | "cmd" : { |
37082 | "default" : "login", | |
37083 | "description" : "Run specific command or default to login.", | |
37084 | "enum" : [ | |
e9cd3bd4 | 37085 | "upgrade", |
c5aa7e14 TL |
37086 | "ceph_install", |
37087 | "login" | |
95895385 TL |
37088 | ], |
37089 | "optional" : 1, | |
37090 | "type" : "string" | |
37091 | }, | |
35a75dd3 DM |
37092 | "node" : { |
37093 | "description" : "The cluster node name.", | |
37094 | "format" : "pve-node", | |
37095 | "type" : "string", | |
37096 | "typetext" : "<string>" | |
37097 | }, | |
37098 | "upgrade" : { | |
37099 | "default" : 0, | |
95895385 | 37100 | "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.", |
35a75dd3 DM |
37101 | "optional" : 1, |
37102 | "type" : "boolean", | |
37103 | "typetext" : "<boolean>" | |
37104 | } | |
37105 | } | |
37106 | }, | |
37107 | "permissions" : { | |
37108 | "check" : [ | |
37109 | "perm", | |
37110 | "/nodes/{node}", | |
37111 | [ | |
37112 | "Sys.Console" | |
37113 | ] | |
37114 | ], | |
37115 | "description" : "Restricted to users on realm 'pam'" | |
37116 | }, | |
37117 | "protected" : 1, | |
37118 | "returns" : { | |
37119 | "additionalProperties" : 0, | |
37120 | "properties" : { | |
37121 | "port" : { | |
37122 | "type" : "integer" | |
37123 | }, | |
37124 | "ticket" : { | |
37125 | "type" : "string" | |
37126 | }, | |
37127 | "upid" : { | |
37128 | "type" : "string" | |
37129 | }, | |
37130 | "user" : { | |
37131 | "type" : "string" | |
37132 | } | |
37133 | } | |
37134 | } | |
37135 | } | |
37136 | }, | |
37137 | "leaf" : 1, | |
37138 | "path" : "/nodes/{node}/termproxy", | |
37139 | "text" : "termproxy" | |
37140 | }, | |
56122987 DM |
37141 | { |
37142 | "info" : { | |
37143 | "GET" : { | |
e9cd3bd4 | 37144 | "allowtoken" : 1, |
7aacca6f | 37145 | "description" : "Opens a weksocket for VNC traffic.", |
44660702 DM |
37146 | "method" : "GET", |
37147 | "name" : "vncwebsocket", | |
56122987 | 37148 | "parameters" : { |
44660702 | 37149 | "additionalProperties" : 0, |
56122987 DM |
37150 | "properties" : { |
37151 | "node" : { | |
37152 | "description" : "The cluster node name.", | |
44660702 | 37153 | "format" : "pve-node", |
013dc89f DM |
37154 | "type" : "string", |
37155 | "typetext" : "<string>" | |
7aacca6f DM |
37156 | }, |
37157 | "port" : { | |
7aacca6f DM |
37158 | "description" : "Port number returned by previous vncproxy call.", |
37159 | "maximum" : 5999, | |
44660702 | 37160 | "minimum" : 5900, |
4bd7df8b | 37161 | "type" : "integer", |
013dc89f | 37162 | "typetext" : "<integer> (5900 - 5999)" |
44660702 DM |
37163 | }, |
37164 | "vncticket" : { | |
37165 | "description" : "Ticket from previous call to vncproxy.", | |
37166 | "maxLength" : 512, | |
013dc89f DM |
37167 | "type" : "string", |
37168 | "typetext" : "<string>" | |
56122987 | 37169 | } |
44660702 | 37170 | } |
56122987 | 37171 | }, |
56122987 DM |
37172 | "permissions" : { |
37173 | "check" : [ | |
37174 | "perm", | |
37175 | "/nodes/{node}", | |
37176 | [ | |
7aacca6f | 37177 | "Sys.Console" |
56122987 | 37178 | ] |
44660702 DM |
37179 | ], |
37180 | "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)." | |
37181 | }, | |
37182 | "returns" : { | |
37183 | "properties" : { | |
37184 | "port" : { | |
37185 | "type" : "string" | |
37186 | } | |
37187 | }, | |
37188 | "type" : "object" | |
7aacca6f | 37189 | } |
56122987 DM |
37190 | } |
37191 | }, | |
44660702 | 37192 | "leaf" : 1, |
7aacca6f | 37193 | "path" : "/nodes/{node}/vncwebsocket", |
44660702 | 37194 | "text" : "vncwebsocket" |
56122987 DM |
37195 | }, |
37196 | { | |
37197 | "info" : { | |
37198 | "POST" : { | |
e9cd3bd4 | 37199 | "allowtoken" : 1, |
44660702 | 37200 | "description" : "Creates a SPICE shell.", |
7aacca6f | 37201 | "method" : "POST", |
44660702 | 37202 | "name" : "spiceshell", |
56122987 | 37203 | "parameters" : { |
7aacca6f | 37204 | "additionalProperties" : 0, |
56122987 | 37205 | "properties" : { |
95895385 TL |
37206 | "cmd" : { |
37207 | "default" : "login", | |
37208 | "description" : "Run specific command or default to login.", | |
37209 | "enum" : [ | |
e9cd3bd4 | 37210 | "upgrade", |
c5aa7e14 TL |
37211 | "ceph_install", |
37212 | "login" | |
95895385 TL |
37213 | ], |
37214 | "optional" : 1, | |
37215 | "type" : "string" | |
37216 | }, | |
7aacca6f | 37217 | "node" : { |
44660702 | 37218 | "description" : "The cluster node name.", |
56122987 | 37219 | "format" : "pve-node", |
013dc89f DM |
37220 | "type" : "string", |
37221 | "typetext" : "<string>" | |
7aacca6f | 37222 | }, |
44660702 | 37223 | "proxy" : { |
4d47f125 | 37224 | "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 reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", |
44660702 DM |
37225 | "format" : "address", |
37226 | "optional" : 1, | |
013dc89f DM |
37227 | "type" : "string", |
37228 | "typetext" : "<string>" | |
7aacca6f | 37229 | }, |
44660702 DM |
37230 | "upgrade" : { |
37231 | "default" : 0, | |
95895385 | 37232 | "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.", |
44660702 | 37233 | "optional" : 1, |
013dc89f DM |
37234 | "type" : "boolean", |
37235 | "typetext" : "<boolean>" | |
56122987 | 37236 | } |
7aacca6f | 37237 | } |
56122987 | 37238 | }, |
56122987 DM |
37239 | "permissions" : { |
37240 | "check" : [ | |
37241 | "perm", | |
7aacca6f | 37242 | "/nodes/{node}", |
56122987 | 37243 | [ |
7aacca6f | 37244 | "Sys.Console" |
56122987 | 37245 | ] |
7aacca6f DM |
37246 | ], |
37247 | "description" : "Restricted to users on realm 'pam'" | |
44660702 DM |
37248 | }, |
37249 | "protected" : 1, | |
37250 | "proxyto" : "node", | |
37251 | "returns" : { | |
37252 | "additionalProperties" : 1, | |
37253 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", | |
37254 | "properties" : { | |
37255 | "host" : { | |
37256 | "type" : "string" | |
37257 | }, | |
37258 | "password" : { | |
37259 | "type" : "string" | |
37260 | }, | |
37261 | "proxy" : { | |
37262 | "type" : "string" | |
37263 | }, | |
37264 | "tls-port" : { | |
37265 | "type" : "integer" | |
37266 | }, | |
37267 | "type" : { | |
37268 | "type" : "string" | |
37269 | } | |
37270 | } | |
7aacca6f | 37271 | } |
56122987 DM |
37272 | } |
37273 | }, | |
56122987 | 37274 | "leaf" : 1, |
44660702 DM |
37275 | "path" : "/nodes/{node}/spiceshell", |
37276 | "text" : "spiceshell" | |
56122987 DM |
37277 | }, |
37278 | { | |
56122987 | 37279 | "info" : { |
7aacca6f | 37280 | "GET" : { |
e9cd3bd4 | 37281 | "allowtoken" : 1, |
44660702 | 37282 | "description" : "Read DNS settings.", |
7aacca6f | 37283 | "method" : "GET", |
44660702 DM |
37284 | "name" : "dns", |
37285 | "parameters" : { | |
7aacca6f DM |
37286 | "additionalProperties" : 0, |
37287 | "properties" : { | |
44660702 DM |
37288 | "node" : { |
37289 | "description" : "The cluster node name.", | |
37290 | "format" : "pve-node", | |
013dc89f DM |
37291 | "type" : "string", |
37292 | "typetext" : "<string>" | |
7aacca6f DM |
37293 | } |
37294 | } | |
37295 | }, | |
7aacca6f DM |
37296 | "permissions" : { |
37297 | "check" : [ | |
37298 | "perm", | |
37299 | "/nodes/{node}", | |
37300 | [ | |
37301 | "Sys.Audit" | |
37302 | ] | |
37303 | ] | |
37304 | }, | |
44660702 DM |
37305 | "proxyto" : "node", |
37306 | "returns" : { | |
56122987 DM |
37307 | "additionalProperties" : 0, |
37308 | "properties" : { | |
44660702 DM |
37309 | "dns1" : { |
37310 | "description" : "First name server IP address.", | |
37311 | "optional" : 1, | |
37312 | "type" : "string" | |
37313 | }, | |
37314 | "dns2" : { | |
37315 | "description" : "Second name server IP address.", | |
37316 | "optional" : 1, | |
37317 | "type" : "string" | |
37318 | }, | |
37319 | "dns3" : { | |
37320 | "description" : "Third name server IP address.", | |
37321 | "optional" : 1, | |
37322 | "type" : "string" | |
37323 | }, | |
37324 | "search" : { | |
37325 | "description" : "Search domain for host-name lookup.", | |
37326 | "optional" : 1, | |
37327 | "type" : "string" | |
7aacca6f | 37328 | } |
44660702 DM |
37329 | }, |
37330 | "type" : "object" | |
37331 | } | |
7aacca6f DM |
37332 | }, |
37333 | "PUT" : { | |
e9cd3bd4 | 37334 | "allowtoken" : 1, |
44660702 DM |
37335 | "description" : "Write DNS settings.", |
37336 | "method" : "PUT", | |
7aacca6f DM |
37337 | "name" : "update_dns", |
37338 | "parameters" : { | |
37339 | "additionalProperties" : 0, | |
37340 | "properties" : { | |
44660702 DM |
37341 | "dns1" : { |
37342 | "description" : "First name server IP address.", | |
37343 | "format" : "ip", | |
37344 | "optional" : 1, | |
013dc89f DM |
37345 | "type" : "string", |
37346 | "typetext" : "<string>" | |
7aacca6f | 37347 | }, |
44660702 DM |
37348 | "dns2" : { |
37349 | "description" : "Second name server IP address.", | |
37350 | "format" : "ip", | |
7aacca6f | 37351 | "optional" : 1, |
013dc89f DM |
37352 | "type" : "string", |
37353 | "typetext" : "<string>" | |
7aacca6f | 37354 | }, |
44660702 DM |
37355 | "dns3" : { |
37356 | "description" : "Third name server IP address.", | |
37357 | "format" : "ip", | |
7aacca6f | 37358 | "optional" : 1, |
013dc89f DM |
37359 | "type" : "string", |
37360 | "typetext" : "<string>" | |
7aacca6f DM |
37361 | }, |
37362 | "node" : { | |
44660702 | 37363 | "description" : "The cluster node name.", |
56122987 | 37364 | "format" : "pve-node", |
013dc89f DM |
37365 | "type" : "string", |
37366 | "typetext" : "<string>" | |
7aacca6f | 37367 | }, |
44660702 DM |
37368 | "search" : { |
37369 | "description" : "Search domain for host-name lookup.", | |
013dc89f DM |
37370 | "type" : "string", |
37371 | "typetext" : "<string>" | |
56122987 DM |
37372 | } |
37373 | } | |
37374 | }, | |
37375 | "permissions" : { | |
37376 | "check" : [ | |
37377 | "perm", | |
7aacca6f | 37378 | "/nodes/{node}", |
56122987 | 37379 | [ |
7aacca6f | 37380 | "Sys.Modify" |
56122987 DM |
37381 | ] |
37382 | ] | |
37383 | }, | |
44660702 | 37384 | "protected" : 1, |
7aacca6f | 37385 | "proxyto" : "node", |
56122987 | 37386 | "returns" : { |
7aacca6f DM |
37387 | "type" : "null" |
37388 | } | |
56122987 | 37389 | } |
44660702 DM |
37390 | }, |
37391 | "leaf" : 1, | |
37392 | "path" : "/nodes/{node}/dns", | |
37393 | "text" : "dns" | |
56122987 DM |
37394 | }, |
37395 | { | |
37396 | "info" : { | |
7aacca6f | 37397 | "GET" : { |
e9cd3bd4 | 37398 | "allowtoken" : 1, |
7aacca6f | 37399 | "description" : "Read server time and time zone settings.", |
44660702 DM |
37400 | "method" : "GET", |
37401 | "name" : "time", | |
56122987 | 37402 | "parameters" : { |
44660702 | 37403 | "additionalProperties" : 0, |
56122987 DM |
37404 | "properties" : { |
37405 | "node" : { | |
44660702 | 37406 | "description" : "The cluster node name.", |
56122987 | 37407 | "format" : "pve-node", |
013dc89f DM |
37408 | "type" : "string", |
37409 | "typetext" : "<string>" | |
56122987 | 37410 | } |
44660702 | 37411 | } |
56122987 DM |
37412 | }, |
37413 | "permissions" : { | |
37414 | "check" : [ | |
37415 | "perm", | |
7aacca6f | 37416 | "/nodes/{node}", |
56122987 | 37417 | [ |
7aacca6f | 37418 | "Sys.Audit" |
56122987 DM |
37419 | ] |
37420 | ] | |
44660702 DM |
37421 | }, |
37422 | "proxyto" : "node", | |
37423 | "returns" : { | |
37424 | "additionalProperties" : 0, | |
37425 | "properties" : { | |
37426 | "localtime" : { | |
37427 | "description" : "Seconds since 1970-01-01 00:00:00 (local time)", | |
37428 | "minimum" : 1297163644, | |
4d47f125 | 37429 | "renderer" : "timestamp_gmt", |
44660702 DM |
37430 | "type" : "integer" |
37431 | }, | |
37432 | "time" : { | |
37433 | "description" : "Seconds since 1970-01-01 00:00:00 UTC.", | |
37434 | "minimum" : 1297163644, | |
4d47f125 | 37435 | "renderer" : "timestamp", |
44660702 DM |
37436 | "type" : "integer" |
37437 | }, | |
37438 | "timezone" : { | |
37439 | "description" : "Time zone", | |
37440 | "type" : "string" | |
37441 | } | |
37442 | }, | |
37443 | "type" : "object" | |
7aacca6f DM |
37444 | } |
37445 | }, | |
37446 | "PUT" : { | |
e9cd3bd4 | 37447 | "allowtoken" : 1, |
7aacca6f | 37448 | "description" : "Set time zone.", |
44660702 DM |
37449 | "method" : "PUT", |
37450 | "name" : "set_timezone", | |
37451 | "parameters" : { | |
37452 | "additionalProperties" : 0, | |
37453 | "properties" : { | |
37454 | "node" : { | |
37455 | "description" : "The cluster node name.", | |
37456 | "format" : "pve-node", | |
013dc89f DM |
37457 | "type" : "string", |
37458 | "typetext" : "<string>" | |
44660702 DM |
37459 | }, |
37460 | "timezone" : { | |
37461 | "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.", | |
013dc89f DM |
37462 | "type" : "string", |
37463 | "typetext" : "<string>" | |
44660702 DM |
37464 | } |
37465 | } | |
37466 | }, | |
7aacca6f DM |
37467 | "permissions" : { |
37468 | "check" : [ | |
37469 | "perm", | |
37470 | "/nodes/{node}", | |
37471 | [ | |
37472 | "Sys.Modify" | |
37473 | ] | |
37474 | ] | |
56122987 | 37475 | }, |
7aacca6f | 37476 | "protected" : 1, |
44660702 DM |
37477 | "proxyto" : "node", |
37478 | "returns" : { | |
37479 | "type" : "null" | |
37480 | } | |
7aacca6f DM |
37481 | } |
37482 | }, | |
7aacca6f | 37483 | "leaf" : 1, |
44660702 DM |
37484 | "path" : "/nodes/{node}/time", |
37485 | "text" : "time" | |
7aacca6f DM |
37486 | }, |
37487 | { | |
37488 | "info" : { | |
44660702 | 37489 | "GET" : { |
e9cd3bd4 | 37490 | "allowtoken" : 1, |
44660702 DM |
37491 | "description" : "Get list of appliances.", |
37492 | "method" : "GET", | |
37493 | "name" : "aplinfo", | |
7aacca6f DM |
37494 | "parameters" : { |
37495 | "additionalProperties" : 0, | |
37496 | "properties" : { | |
7aacca6f | 37497 | "node" : { |
44660702 | 37498 | "description" : "The cluster node name.", |
7aacca6f | 37499 | "format" : "pve-node", |
013dc89f DM |
37500 | "type" : "string", |
37501 | "typetext" : "<string>" | |
7aacca6f DM |
37502 | } |
37503 | } | |
56122987 | 37504 | }, |
7aacca6f | 37505 | "permissions" : { |
44660702 | 37506 | "user" : "all" |
56122987 | 37507 | }, |
44660702 | 37508 | "proxyto" : "node", |
7aacca6f DM |
37509 | "returns" : { |
37510 | "items" : { | |
44660702 DM |
37511 | "properties" : {}, |
37512 | "type" : "object" | |
7aacca6f DM |
37513 | }, |
37514 | "type" : "array" | |
44660702 DM |
37515 | } |
37516 | }, | |
37517 | "POST" : { | |
e9cd3bd4 | 37518 | "allowtoken" : 1, |
44660702 DM |
37519 | "description" : "Download appliance templates.", |
37520 | "method" : "POST", | |
37521 | "name" : "apl_download", | |
7aacca6f DM |
37522 | "parameters" : { |
37523 | "additionalProperties" : 0, | |
37524 | "properties" : { | |
37525 | "node" : { | |
7aacca6f | 37526 | "description" : "The cluster node name.", |
44660702 | 37527 | "format" : "pve-node", |
013dc89f DM |
37528 | "type" : "string", |
37529 | "typetext" : "<string>" | |
44660702 DM |
37530 | }, |
37531 | "storage" : { | |
4bd7df8b | 37532 | "description" : "The storage where the template will be stored", |
44660702 | 37533 | "format" : "pve-storage-id", |
013dc89f DM |
37534 | "type" : "string", |
37535 | "typetext" : "<string>" | |
44660702 DM |
37536 | }, |
37537 | "template" : { | |
1e3f8156 | 37538 | "description" : "The template which will downloaded", |
44660702 | 37539 | "maxLength" : 255, |
013dc89f DM |
37540 | "type" : "string", |
37541 | "typetext" : "<string>" | |
7aacca6f DM |
37542 | } |
37543 | } | |
56122987 | 37544 | }, |
7aacca6f | 37545 | "permissions" : { |
44660702 DM |
37546 | "check" : [ |
37547 | "perm", | |
37548 | "/storage/{storage}", | |
37549 | [ | |
37550 | "Datastore.AllocateTemplate" | |
37551 | ] | |
37552 | ] | |
37553 | }, | |
37554 | "protected" : 1, | |
37555 | "proxyto" : "node", | |
37556 | "returns" : { | |
37557 | "type" : "string" | |
7aacca6f DM |
37558 | } |
37559 | } | |
37560 | }, | |
7aacca6f | 37561 | "leaf" : 1, |
44660702 DM |
37562 | "path" : "/nodes/{node}/aplinfo", |
37563 | "text" : "aplinfo" | |
7aacca6f DM |
37564 | }, |
37565 | { | |
37566 | "info" : { | |
37567 | "GET" : { | |
e9cd3bd4 | 37568 | "allowtoken" : 1, |
44660702 DM |
37569 | "description" : "Gather various systems information about a node", |
37570 | "method" : "GET", | |
37571 | "name" : "report", | |
7aacca6f | 37572 | "parameters" : { |
44660702 | 37573 | "additionalProperties" : 0, |
7aacca6f DM |
37574 | "properties" : { |
37575 | "node" : { | |
7aacca6f | 37576 | "description" : "The cluster node name.", |
44660702 | 37577 | "format" : "pve-node", |
013dc89f DM |
37578 | "type" : "string", |
37579 | "typetext" : "<string>" | |
7aacca6f | 37580 | } |
44660702 | 37581 | } |
56122987 | 37582 | }, |
7aacca6f DM |
37583 | "permissions" : { |
37584 | "check" : [ | |
37585 | "perm", | |
37586 | "/nodes/{node}", | |
37587 | [ | |
37588 | "Sys.Audit" | |
37589 | ] | |
37590 | ] | |
56122987 | 37591 | }, |
44660702 | 37592 | "protected" : 1, |
7aacca6f DM |
37593 | "proxyto" : "node", |
37594 | "returns" : { | |
56122987 | 37595 | "type" : "string" |
7aacca6f DM |
37596 | } |
37597 | } | |
37598 | }, | |
7aacca6f | 37599 | "leaf" : 1, |
44660702 DM |
37600 | "path" : "/nodes/{node}/report", |
37601 | "text" : "report" | |
7aacca6f DM |
37602 | }, |
37603 | { | |
7aacca6f DM |
37604 | "info" : { |
37605 | "POST" : { | |
e9cd3bd4 | 37606 | "allowtoken" : 1, |
1c532546 | 37607 | "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).", |
7aacca6f | 37608 | "method" : "POST", |
44660702 | 37609 | "name" : "startall", |
7aacca6f | 37610 | "parameters" : { |
44660702 | 37611 | "additionalProperties" : 0, |
7aacca6f DM |
37612 | "properties" : { |
37613 | "force" : { | |
1c532546 TL |
37614 | "default" : "off", |
37615 | "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.", | |
7aacca6f | 37616 | "optional" : 1, |
013dc89f DM |
37617 | "type" : "boolean", |
37618 | "typetext" : "<boolean>" | |
7aacca6f DM |
37619 | }, |
37620 | "node" : { | |
7aacca6f | 37621 | "description" : "The cluster node name.", |
44660702 | 37622 | "format" : "pve-node", |
013dc89f DM |
37623 | "type" : "string", |
37624 | "typetext" : "<string>" | |
52e44c50 FG |
37625 | }, |
37626 | "vms" : { | |
1c532546 | 37627 | "description" : "Only consider guests from this comma separated list of VMIDs.", |
52e44c50 FG |
37628 | "format" : "pve-vmid-list", |
37629 | "optional" : 1, | |
37630 | "type" : "string", | |
37631 | "typetext" : "<string>" | |
7aacca6f | 37632 | } |
44660702 | 37633 | } |
56122987 | 37634 | }, |
7aacca6f DM |
37635 | "permissions" : { |
37636 | "check" : [ | |
37637 | "perm", | |
37638 | "/", | |
37639 | [ | |
37640 | "VM.PowerMgmt" | |
37641 | ] | |
37642 | ] | |
44660702 DM |
37643 | }, |
37644 | "protected" : 1, | |
37645 | "proxyto" : "node", | |
37646 | "returns" : { | |
37647 | "type" : "string" | |
7aacca6f DM |
37648 | } |
37649 | } | |
37650 | }, | |
44660702 | 37651 | "leaf" : 1, |
7aacca6f | 37652 | "path" : "/nodes/{node}/startall", |
44660702 | 37653 | "text" : "startall" |
7aacca6f DM |
37654 | }, |
37655 | { | |
7aacca6f DM |
37656 | "info" : { |
37657 | "POST" : { | |
e9cd3bd4 | 37658 | "allowtoken" : 1, |
7aacca6f | 37659 | "description" : "Stop all VMs and Containers.", |
44660702 DM |
37660 | "method" : "POST", |
37661 | "name" : "stopall", | |
7aacca6f | 37662 | "parameters" : { |
44660702 | 37663 | "additionalProperties" : 0, |
7aacca6f DM |
37664 | "properties" : { |
37665 | "node" : { | |
44660702 | 37666 | "description" : "The cluster node name.", |
7aacca6f | 37667 | "format" : "pve-node", |
013dc89f DM |
37668 | "type" : "string", |
37669 | "typetext" : "<string>" | |
52e44c50 FG |
37670 | }, |
37671 | "vms" : { | |
37672 | "description" : "Only consider Guests with these IDs.", | |
37673 | "format" : "pve-vmid-list", | |
37674 | "optional" : 1, | |
37675 | "type" : "string", | |
37676 | "typetext" : "<string>" | |
7aacca6f | 37677 | } |
44660702 | 37678 | } |
56122987 | 37679 | }, |
7aacca6f DM |
37680 | "permissions" : { |
37681 | "check" : [ | |
37682 | "perm", | |
37683 | "/", | |
37684 | [ | |
44660702 | 37685 | "VM.PowerMgmt" |
7aacca6f DM |
37686 | ] |
37687 | ] | |
56122987 | 37688 | }, |
44660702 | 37689 | "protected" : 1, |
7aacca6f | 37690 | "proxyto" : "node", |
44660702 DM |
37691 | "returns" : { |
37692 | "type" : "string" | |
37693 | } | |
37694 | } | |
56122987 | 37695 | }, |
44660702 DM |
37696 | "leaf" : 1, |
37697 | "path" : "/nodes/{node}/stopall", | |
37698 | "text" : "stopall" | |
37699 | }, | |
37700 | { | |
37701 | "info" : { | |
37702 | "POST" : { | |
e9cd3bd4 | 37703 | "allowtoken" : 1, |
44660702 DM |
37704 | "description" : "Migrate all VMs and Containers.", |
37705 | "method" : "POST", | |
37706 | "name" : "migrateall", | |
37707 | "parameters" : { | |
37708 | "additionalProperties" : 0, | |
37709 | "properties" : { | |
37710 | "maxworkers" : { | |
37711 | "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!", | |
37712 | "minimum" : 1, | |
37713 | "optional" : 1, | |
4bd7df8b | 37714 | "type" : "integer", |
013dc89f | 37715 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
37716 | }, |
37717 | "node" : { | |
37718 | "description" : "The cluster node name.", | |
37719 | "format" : "pve-node", | |
013dc89f DM |
37720 | "type" : "string", |
37721 | "typetext" : "<string>" | |
44660702 DM |
37722 | }, |
37723 | "target" : { | |
37724 | "description" : "Target node.", | |
37725 | "format" : "pve-node", | |
013dc89f DM |
37726 | "type" : "string", |
37727 | "typetext" : "<string>" | |
52e44c50 FG |
37728 | }, |
37729 | "vms" : { | |
37730 | "description" : "Only consider Guests with these IDs.", | |
37731 | "format" : "pve-vmid-list", | |
37732 | "optional" : 1, | |
37733 | "type" : "string", | |
37734 | "typetext" : "<string>" | |
e9cd3bd4 TL |
37735 | }, |
37736 | "with-local-disks" : { | |
37737 | "description" : "Enable live storage migration for local disk", | |
37738 | "optional" : 1, | |
37739 | "type" : "boolean", | |
37740 | "typetext" : "<boolean>" | |
44660702 DM |
37741 | } |
37742 | } | |
37743 | }, | |
37744 | "permissions" : { | |
37745 | "check" : [ | |
37746 | "perm", | |
37747 | "/", | |
37748 | [ | |
37749 | "VM.Migrate" | |
37750 | ] | |
37751 | ] | |
37752 | }, | |
37753 | "protected" : 1, | |
37754 | "proxyto" : "node", | |
37755 | "returns" : { | |
37756 | "type" : "string" | |
37757 | } | |
37758 | } | |
56122987 | 37759 | }, |
44660702 DM |
37760 | "leaf" : 1, |
37761 | "path" : "/nodes/{node}/migrateall", | |
37762 | "text" : "migrateall" | |
4d47f125 TL |
37763 | }, |
37764 | { | |
37765 | "info" : { | |
37766 | "GET" : { | |
e9cd3bd4 | 37767 | "allowtoken" : 1, |
4d47f125 TL |
37768 | "description" : "Get the content of /etc/hosts.", |
37769 | "method" : "GET", | |
37770 | "name" : "get_etc_hosts", | |
37771 | "parameters" : { | |
37772 | "additionalProperties" : 0, | |
37773 | "properties" : { | |
37774 | "node" : { | |
37775 | "description" : "The cluster node name.", | |
37776 | "format" : "pve-node", | |
37777 | "type" : "string", | |
37778 | "typetext" : "<string>" | |
37779 | } | |
37780 | } | |
37781 | }, | |
37782 | "permissions" : { | |
37783 | "check" : [ | |
37784 | "perm", | |
37785 | "/", | |
37786 | [ | |
37787 | "Sys.Audit" | |
37788 | ] | |
37789 | ] | |
37790 | }, | |
37791 | "protected" : 1, | |
37792 | "proxyto" : "node", | |
37793 | "returns" : { | |
37794 | "properties" : { | |
37795 | "data" : { | |
37796 | "description" : "The content of /etc/hosts.", | |
37797 | "type" : "string" | |
37798 | }, | |
37799 | "digest" : { | |
37800 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
37801 | "maxLength" : 40, | |
37802 | "optional" : 1, | |
37803 | "type" : "string" | |
37804 | } | |
37805 | }, | |
37806 | "type" : "object" | |
37807 | } | |
37808 | }, | |
37809 | "POST" : { | |
e9cd3bd4 | 37810 | "allowtoken" : 1, |
4d47f125 TL |
37811 | "description" : "Write /etc/hosts.", |
37812 | "method" : "POST", | |
37813 | "name" : "write_etc_hosts", | |
37814 | "parameters" : { | |
37815 | "additionalProperties" : 0, | |
37816 | "properties" : { | |
37817 | "data" : { | |
37818 | "description" : "The target content of /etc/hosts.", | |
37819 | "type" : "string", | |
37820 | "typetext" : "<string>" | |
37821 | }, | |
37822 | "digest" : { | |
37823 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
37824 | "maxLength" : 40, | |
37825 | "optional" : 1, | |
37826 | "type" : "string", | |
37827 | "typetext" : "<string>" | |
37828 | }, | |
37829 | "node" : { | |
37830 | "description" : "The cluster node name.", | |
37831 | "format" : "pve-node", | |
37832 | "type" : "string", | |
37833 | "typetext" : "<string>" | |
37834 | } | |
37835 | } | |
37836 | }, | |
37837 | "permissions" : { | |
37838 | "check" : [ | |
37839 | "perm", | |
37840 | "/nodes/{node}", | |
37841 | [ | |
37842 | "Sys.Modify" | |
37843 | ] | |
37844 | ] | |
37845 | }, | |
37846 | "protected" : 1, | |
37847 | "proxyto" : "node", | |
37848 | "returns" : { | |
37849 | "type" : "null" | |
37850 | } | |
37851 | } | |
37852 | }, | |
37853 | "leaf" : 1, | |
37854 | "path" : "/nodes/{node}/hosts", | |
37855 | "text" : "hosts" | |
44660702 DM |
37856 | } |
37857 | ], | |
37858 | "info" : { | |
37859 | "GET" : { | |
e9cd3bd4 | 37860 | "allowtoken" : 1, |
44660702 DM |
37861 | "description" : "Node index.", |
37862 | "method" : "GET", | |
37863 | "name" : "index", | |
37864 | "parameters" : { | |
37865 | "additionalProperties" : 0, | |
37866 | "properties" : { | |
37867 | "node" : { | |
37868 | "description" : "The cluster node name.", | |
37869 | "format" : "pve-node", | |
013dc89f DM |
37870 | "type" : "string", |
37871 | "typetext" : "<string>" | |
44660702 DM |
37872 | } |
37873 | } | |
56122987 | 37874 | }, |
44660702 DM |
37875 | "permissions" : { |
37876 | "user" : "all" | |
56122987 | 37877 | }, |
44660702 DM |
37878 | "returns" : { |
37879 | "items" : { | |
37880 | "properties" : {}, | |
37881 | "type" : "object" | |
37882 | }, | |
37883 | "links" : [ | |
37884 | { | |
37885 | "href" : "{name}", | |
37886 | "rel" : "child" | |
37887 | } | |
56122987 | 37888 | ], |
44660702 | 37889 | "type" : "array" |
7aacca6f DM |
37890 | } |
37891 | } | |
37892 | }, | |
44660702 DM |
37893 | "leaf" : 0, |
37894 | "path" : "/nodes/{node}", | |
37895 | "text" : "{node}" | |
37896 | } | |
37897 | ], | |
37898 | "info" : { | |
7aacca6f | 37899 | "GET" : { |
e9cd3bd4 | 37900 | "allowtoken" : 1, |
44660702 | 37901 | "description" : "Cluster node index.", |
7aacca6f | 37902 | "method" : "GET", |
44660702 | 37903 | "name" : "index", |
7aacca6f | 37904 | "parameters" : { |
7aacca6f DM |
37905 | "additionalProperties" : 0 |
37906 | }, | |
37907 | "permissions" : { | |
7aacca6f DM |
37908 | "user" : "all" |
37909 | }, | |
44660702 DM |
37910 | "returns" : { |
37911 | "items" : { | |
4d47f125 TL |
37912 | "properties" : { |
37913 | "cpu" : { | |
37914 | "description" : "CPU utilization.", | |
37915 | "optional" : 1, | |
37916 | "renderer" : "fraction_as_percentage", | |
37917 | "type" : "number" | |
37918 | }, | |
37919 | "level" : { | |
37920 | "description" : "Support level.", | |
37921 | "optional" : 1, | |
37922 | "type" : "string" | |
37923 | }, | |
37924 | "maxcpu" : { | |
37925 | "description" : "Number of available CPUs.", | |
37926 | "optional" : 1, | |
37927 | "type" : "integer" | |
37928 | }, | |
37929 | "maxmem" : { | |
37930 | "description" : "Number of available memory in bytes.", | |
37931 | "optional" : 1, | |
37932 | "renderer" : "bytes", | |
37933 | "type" : "integer" | |
37934 | }, | |
37935 | "mem" : { | |
37936 | "description" : "Used memory in bytes.", | |
37937 | "optional" : 1, | |
37938 | "renderer" : "bytes", | |
1c532546 | 37939 | "type" : "integer" |
4d47f125 TL |
37940 | }, |
37941 | "node" : { | |
37942 | "description" : "The cluster node name.", | |
37943 | "format" : "pve-node", | |
37944 | "type" : "string" | |
37945 | }, | |
37946 | "ssl_fingerprint" : { | |
37947 | "description" : "The SSL fingerprint for the node certificate.", | |
37948 | "optional" : 1, | |
37949 | "type" : "string" | |
37950 | }, | |
37951 | "status" : { | |
37952 | "description" : "Node status.", | |
37953 | "enum" : [ | |
37954 | "unknown", | |
37955 | "online", | |
37956 | "offline" | |
37957 | ], | |
37958 | "type" : "string" | |
37959 | }, | |
37960 | "uptime" : { | |
37961 | "description" : "Node uptime in seconds.", | |
37962 | "optional" : 1, | |
37963 | "renderer" : "duration", | |
37964 | "type" : "integer" | |
37965 | } | |
37966 | }, | |
44660702 DM |
37967 | "type" : "object" |
37968 | }, | |
37969 | "links" : [ | |
37970 | { | |
37971 | "href" : "{node}", | |
37972 | "rel" : "child" | |
37973 | } | |
37974 | ], | |
37975 | "type" : "array" | |
37976 | } | |
7aacca6f DM |
37977 | } |
37978 | }, | |
44660702 DM |
37979 | "leaf" : 0, |
37980 | "path" : "/nodes", | |
37981 | "text" : "nodes" | |
37982 | }, | |
37983 | { | |
7aacca6f DM |
37984 | "children" : [ |
37985 | { | |
7aacca6f | 37986 | "info" : { |
44660702 | 37987 | "DELETE" : { |
e9cd3bd4 | 37988 | "allowtoken" : 1, |
44660702 DM |
37989 | "description" : "Delete storage configuration.", |
37990 | "method" : "DELETE", | |
37991 | "name" : "delete", | |
7aacca6f DM |
37992 | "parameters" : { |
37993 | "additionalProperties" : 0, | |
37994 | "properties" : { | |
37995 | "storage" : { | |
7aacca6f | 37996 | "description" : "The storage identifier.", |
44660702 | 37997 | "format" : "pve-storage-id", |
013dc89f DM |
37998 | "type" : "string", |
37999 | "typetext" : "<string>" | |
7aacca6f DM |
38000 | } |
38001 | } | |
56122987 | 38002 | }, |
7aacca6f DM |
38003 | "permissions" : { |
38004 | "check" : [ | |
38005 | "perm", | |
38006 | "/storage", | |
38007 | [ | |
38008 | "Datastore.Allocate" | |
38009 | ] | |
38010 | ] | |
56122987 | 38011 | }, |
44660702 DM |
38012 | "protected" : 1, |
38013 | "returns" : { | |
38014 | "type" : "null" | |
38015 | } | |
38016 | }, | |
38017 | "GET" : { | |
e9cd3bd4 | 38018 | "allowtoken" : 1, |
44660702 DM |
38019 | "description" : "Read storage configuration.", |
38020 | "method" : "GET", | |
38021 | "name" : "read", | |
7aacca6f DM |
38022 | "parameters" : { |
38023 | "additionalProperties" : 0, | |
38024 | "properties" : { | |
38025 | "storage" : { | |
44660702 | 38026 | "description" : "The storage identifier.", |
7aacca6f | 38027 | "format" : "pve-storage-id", |
013dc89f DM |
38028 | "type" : "string", |
38029 | "typetext" : "<string>" | |
7aacca6f DM |
38030 | } |
38031 | } | |
38032 | }, | |
44660702 DM |
38033 | "permissions" : { |
38034 | "check" : [ | |
38035 | "perm", | |
38036 | "/storage/{storage}", | |
38037 | [ | |
38038 | "Datastore.Allocate" | |
38039 | ] | |
38040 | ] | |
38041 | }, | |
5da3d723 TL |
38042 | "returns" : { |
38043 | "type" : "object" | |
38044 | } | |
7aacca6f DM |
38045 | }, |
38046 | "PUT" : { | |
e9cd3bd4 | 38047 | "allowtoken" : 1, |
44660702 DM |
38048 | "description" : "Update storage configuration.", |
38049 | "method" : "PUT", | |
38050 | "name" : "update", | |
38051 | "parameters" : { | |
38052 | "additionalProperties" : 0, | |
38053 | "properties" : { | |
38054 | "blocksize" : { | |
38055 | "description" : "block size", | |
7aacca6f | 38056 | "optional" : 1, |
013dc89f DM |
38057 | "type" : "string", |
38058 | "typetext" : "<string>" | |
7aacca6f | 38059 | }, |
27a7acb2 DM |
38060 | "bwlimit" : { |
38061 | "description" : "Set bandwidth/io limits various operations.", | |
38062 | "format" : { | |
38063 | "clone" : { | |
95895385 | 38064 | "description" : "bandwidth limit in KiB/s for cloning disks", |
27a7acb2 DM |
38065 | "format_description" : "LIMIT", |
38066 | "minimum" : "0", | |
38067 | "optional" : 1, | |
38068 | "type" : "number" | |
38069 | }, | |
38070 | "default" : { | |
95895385 | 38071 | "description" : "default bandwidth limit in KiB/s", |
27a7acb2 DM |
38072 | "format_description" : "LIMIT", |
38073 | "minimum" : "0", | |
38074 | "optional" : 1, | |
38075 | "type" : "number" | |
38076 | }, | |
38077 | "migration" : { | |
95895385 | 38078 | "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)", |
27a7acb2 DM |
38079 | "format_description" : "LIMIT", |
38080 | "minimum" : "0", | |
38081 | "optional" : 1, | |
38082 | "type" : "number" | |
38083 | }, | |
38084 | "move" : { | |
95895385 | 38085 | "description" : "bandwidth limit in KiB/s for moving disks", |
27a7acb2 DM |
38086 | "format_description" : "LIMIT", |
38087 | "minimum" : "0", | |
38088 | "optional" : 1, | |
38089 | "type" : "number" | |
38090 | }, | |
38091 | "restore" : { | |
95895385 | 38092 | "description" : "bandwidth limit in KiB/s for restoring guests from backups", |
27a7acb2 DM |
38093 | "format_description" : "LIMIT", |
38094 | "minimum" : "0", | |
38095 | "optional" : 1, | |
38096 | "type" : "number" | |
38097 | } | |
38098 | }, | |
38099 | "optional" : 1, | |
38100 | "type" : "string", | |
38101 | "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]" | |
38102 | }, | |
44660702 DM |
38103 | "comstar_hg" : { |
38104 | "description" : "host group for comstar views", | |
38105 | "optional" : 1, | |
013dc89f DM |
38106 | "type" : "string", |
38107 | "typetext" : "<string>" | |
7aacca6f | 38108 | }, |
44660702 DM |
38109 | "comstar_tg" : { |
38110 | "description" : "target group for comstar views", | |
7aacca6f | 38111 | "optional" : 1, |
013dc89f DM |
38112 | "type" : "string", |
38113 | "typetext" : "<string>" | |
7aacca6f | 38114 | }, |
44660702 DM |
38115 | "content" : { |
38116 | "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n", | |
38117 | "format" : "pve-storage-content-list", | |
7aacca6f | 38118 | "optional" : 1, |
013dc89f DM |
38119 | "type" : "string", |
38120 | "typetext" : "<string>" | |
7aacca6f | 38121 | }, |
44660702 DM |
38122 | "delete" : { |
38123 | "description" : "A list of settings you want to delete.", | |
38124 | "format" : "pve-configid-list", | |
38125 | "maxLength" : 4096, | |
7aacca6f | 38126 | "optional" : 1, |
013dc89f DM |
38127 | "type" : "string", |
38128 | "typetext" : "<string>" | |
7aacca6f DM |
38129 | }, |
38130 | "digest" : { | |
44660702 | 38131 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
7aacca6f | 38132 | "maxLength" : 40, |
7aacca6f | 38133 | "optional" : 1, |
013dc89f DM |
38134 | "type" : "string", |
38135 | "typetext" : "<string>" | |
7aacca6f | 38136 | }, |
44660702 DM |
38137 | "disable" : { |
38138 | "description" : "Flag to disable the storage.", | |
38139 | "optional" : 1, | |
013dc89f DM |
38140 | "type" : "boolean", |
38141 | "typetext" : "<boolean>" | |
7aacca6f | 38142 | }, |
27a7acb2 DM |
38143 | "domain" : { |
38144 | "description" : "CIFS domain.", | |
38145 | "maxLength" : 256, | |
38146 | "optional" : 1, | |
38147 | "type" : "string", | |
38148 | "typetext" : "<string>" | |
38149 | }, | |
c5aa7e14 TL |
38150 | "fingerprint" : { |
38151 | "description" : "Certificate SHA 256 fingerprint.", | |
38152 | "optional" : 1, | |
38153 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
38154 | "type" : "string" | |
38155 | }, | |
7aacca6f DM |
38156 | "format" : { |
38157 | "description" : "Default image format.", | |
44660702 | 38158 | "format" : "pve-storage-format", |
7aacca6f | 38159 | "optional" : 1, |
013dc89f DM |
38160 | "type" : "string", |
38161 | "typetext" : "<string>" | |
7aacca6f | 38162 | }, |
5da3d723 TL |
38163 | "fuse" : { |
38164 | "description" : "Mount CephFS through FUSE.", | |
38165 | "optional" : 1, | |
38166 | "type" : "boolean", | |
38167 | "typetext" : "<boolean>" | |
38168 | }, | |
2c0dde61 DM |
38169 | "is_mountpoint" : { |
38170 | "default" : "no", | |
2489d6df | 38171 | "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.", |
2c0dde61 | 38172 | "optional" : 1, |
2489d6df WB |
38173 | "type" : "string", |
38174 | "typetext" : "<string>" | |
2c0dde61 | 38175 | }, |
44660702 | 38176 | "krbd" : { |
e2d681b3 | 38177 | "description" : "Always access rbd through krbd kernel module.", |
7aacca6f | 38178 | "optional" : 1, |
013dc89f DM |
38179 | "type" : "boolean", |
38180 | "typetext" : "<boolean>" | |
7aacca6f | 38181 | }, |
4d47f125 TL |
38182 | "lio_tpg" : { |
38183 | "description" : "target portal group for Linux LIO targets", | |
38184 | "optional" : 1, | |
38185 | "type" : "string", | |
38186 | "typetext" : "<string>" | |
38187 | }, | |
44660702 DM |
38188 | "maxfiles" : { |
38189 | "description" : "Maximal number of backup files per VM. Use '0' for unlimted.", | |
38190 | "minimum" : 0, | |
38191 | "optional" : 1, | |
4bd7df8b | 38192 | "type" : "integer", |
013dc89f | 38193 | "typetext" : "<integer> (0 - N)" |
4bd7df8b DM |
38194 | }, |
38195 | "mkdir" : { | |
38196 | "default" : "yes", | |
38197 | "description" : "Create the directory if it doesn't exist.", | |
38198 | "optional" : 1, | |
013dc89f DM |
38199 | "type" : "boolean", |
38200 | "typetext" : "<boolean>" | |
7aacca6f | 38201 | }, |
2489d6df WB |
38202 | "monhost" : { |
38203 | "description" : "IP addresses of monitors (for external clusters).", | |
38204 | "format" : "pve-storage-portal-dns-list", | |
38205 | "optional" : 1, | |
38206 | "type" : "string", | |
38207 | "typetext" : "<string>" | |
38208 | }, | |
5c1699e5 TL |
38209 | "mountpoint" : { |
38210 | "description" : "mount point", | |
38211 | "format" : "pve-storage-path", | |
38212 | "optional" : 1, | |
38213 | "type" : "string", | |
38214 | "typetext" : "<string>" | |
38215 | }, | |
7aacca6f | 38216 | "nodes" : { |
44660702 | 38217 | "description" : "List of cluster node names.", |
7aacca6f DM |
38218 | "format" : "pve-node-list", |
38219 | "optional" : 1, | |
013dc89f DM |
38220 | "type" : "string", |
38221 | "typetext" : "<string>" | |
7aacca6f | 38222 | }, |
44660702 DM |
38223 | "nowritecache" : { |
38224 | "description" : "disable write caching on the target", | |
7aacca6f | 38225 | "optional" : 1, |
013dc89f DM |
38226 | "type" : "boolean", |
38227 | "typetext" : "<boolean>" | |
7aacca6f DM |
38228 | }, |
38229 | "options" : { | |
7aacca6f | 38230 | "description" : "NFS mount options (see 'man nfs')", |
44660702 DM |
38231 | "format" : "pve-storage-options", |
38232 | "optional" : 1, | |
013dc89f DM |
38233 | "type" : "string", |
38234 | "typetext" : "<string>" | |
44660702 | 38235 | }, |
27a7acb2 DM |
38236 | "password" : { |
38237 | "description" : "Password for CIFS share.", | |
38238 | "maxLength" : 256, | |
38239 | "optional" : 1, | |
38240 | "type" : "string", | |
38241 | "typetext" : "<string>" | |
38242 | }, | |
44660702 DM |
38243 | "pool" : { |
38244 | "description" : "Pool.", | |
38245 | "optional" : 1, | |
013dc89f DM |
38246 | "type" : "string", |
38247 | "typetext" : "<string>" | |
44660702 DM |
38248 | }, |
38249 | "redundancy" : { | |
38250 | "default" : 2, | |
38251 | "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.", | |
38252 | "maximum" : 16, | |
38253 | "minimum" : 1, | |
38254 | "optional" : 1, | |
4bd7df8b | 38255 | "type" : "integer", |
013dc89f | 38256 | "typetext" : "<integer> (1 - 16)" |
44660702 DM |
38257 | }, |
38258 | "saferemove" : { | |
38259 | "description" : "Zero-out data when removing LVs.", | |
38260 | "optional" : 1, | |
013dc89f DM |
38261 | "type" : "boolean", |
38262 | "typetext" : "<boolean>" | |
7aacca6f DM |
38263 | }, |
38264 | "saferemove_throughput" : { | |
44660702 | 38265 | "description" : "Wipe throughput (cstream -t parameter value).", |
7aacca6f | 38266 | "optional" : 1, |
013dc89f DM |
38267 | "type" : "string", |
38268 | "typetext" : "<string>" | |
7aacca6f | 38269 | }, |
44660702 DM |
38270 | "server" : { |
38271 | "description" : "Server IP or DNS name.", | |
38272 | "format" : "pve-storage-server", | |
7aacca6f | 38273 | "optional" : 1, |
013dc89f DM |
38274 | "type" : "string", |
38275 | "typetext" : "<string>" | |
7aacca6f | 38276 | }, |
44660702 DM |
38277 | "server2" : { |
38278 | "description" : "Backup volfile server IP or DNS name.", | |
38279 | "format" : "pve-storage-server", | |
7aacca6f | 38280 | "optional" : 1, |
44660702 | 38281 | "requires" : "server", |
013dc89f DM |
38282 | "type" : "string", |
38283 | "typetext" : "<string>" | |
44660702 DM |
38284 | }, |
38285 | "shared" : { | |
38286 | "description" : "Mark storage as shared.", | |
38287 | "optional" : 1, | |
013dc89f DM |
38288 | "type" : "boolean", |
38289 | "typetext" : "<boolean>" | |
44660702 | 38290 | }, |
27a7acb2 | 38291 | "smbversion" : { |
5da3d723 TL |
38292 | "description" : "SMB protocol version", |
38293 | "enum" : [ | |
38294 | "2.0", | |
38295 | "2.1", | |
38296 | "3.0" | |
38297 | ], | |
27a7acb2 | 38298 | "optional" : 1, |
5da3d723 | 38299 | "type" : "string" |
27a7acb2 | 38300 | }, |
44660702 DM |
38301 | "sparse" : { |
38302 | "description" : "use sparse volumes", | |
38303 | "optional" : 1, | |
013dc89f DM |
38304 | "type" : "boolean", |
38305 | "typetext" : "<boolean>" | |
44660702 DM |
38306 | }, |
38307 | "storage" : { | |
38308 | "description" : "The storage identifier.", | |
38309 | "format" : "pve-storage-id", | |
013dc89f DM |
38310 | "type" : "string", |
38311 | "typetext" : "<string>" | |
44660702 | 38312 | }, |
5da3d723 TL |
38313 | "subdir" : { |
38314 | "description" : "Subdir to mount.", | |
38315 | "format" : "pve-storage-path", | |
38316 | "optional" : 1, | |
38317 | "type" : "string", | |
38318 | "typetext" : "<string>" | |
38319 | }, | |
4bd7df8b DM |
38320 | "tagged_only" : { |
38321 | "description" : "Only use logical volumes tagged with 'pve-vm-ID'.", | |
38322 | "optional" : 1, | |
013dc89f DM |
38323 | "type" : "boolean", |
38324 | "typetext" : "<boolean>" | |
4bd7df8b | 38325 | }, |
44660702 DM |
38326 | "transport" : { |
38327 | "description" : "Gluster transport: tcp or rdma", | |
38328 | "enum" : [ | |
38329 | "tcp", | |
38330 | "rdma", | |
38331 | "unix" | |
38332 | ], | |
38333 | "optional" : 1, | |
38334 | "type" : "string" | |
7aacca6f DM |
38335 | }, |
38336 | "username" : { | |
38337 | "description" : "RBD Id.", | |
44660702 | 38338 | "optional" : 1, |
013dc89f DM |
38339 | "type" : "string", |
38340 | "typetext" : "<string>" | |
7aacca6f | 38341 | } |
44660702 DM |
38342 | }, |
38343 | "type" : "object" | |
38344 | }, | |
38345 | "permissions" : { | |
38346 | "check" : [ | |
38347 | "perm", | |
38348 | "/storage", | |
38349 | [ | |
38350 | "Datastore.Allocate" | |
38351 | ] | |
38352 | ] | |
38353 | }, | |
38354 | "protected" : 1, | |
38355 | "returns" : { | |
38356 | "type" : "null" | |
38357 | } | |
38358 | } | |
38359 | }, | |
38360 | "leaf" : 1, | |
38361 | "path" : "/storage/{storage}", | |
38362 | "text" : "{storage}" | |
38363 | } | |
38364 | ], | |
38365 | "info" : { | |
38366 | "GET" : { | |
e9cd3bd4 | 38367 | "allowtoken" : 1, |
44660702 DM |
38368 | "description" : "Storage index.", |
38369 | "method" : "GET", | |
38370 | "name" : "index", | |
38371 | "parameters" : { | |
38372 | "additionalProperties" : 0, | |
38373 | "properties" : { | |
38374 | "type" : { | |
38375 | "description" : "Only list storage of specific type", | |
38376 | "enum" : [ | |
5da3d723 | 38377 | "cephfs", |
27a7acb2 | 38378 | "cifs", |
44660702 DM |
38379 | "dir", |
38380 | "drbd", | |
38381 | "glusterfs", | |
38382 | "iscsi", | |
38383 | "iscsidirect", | |
38384 | "lvm", | |
38385 | "lvmthin", | |
38386 | "nfs", | |
c5aa7e14 | 38387 | "pbs", |
44660702 | 38388 | "rbd", |
44660702 DM |
38389 | "zfs", |
38390 | "zfspool" | |
38391 | ], | |
38392 | "optional" : 1, | |
38393 | "type" : "string" | |
38394 | } | |
38395 | } | |
38396 | }, | |
38397 | "permissions" : { | |
38398 | "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'", | |
38399 | "user" : "all" | |
38400 | }, | |
38401 | "returns" : { | |
38402 | "items" : { | |
38403 | "properties" : { | |
38404 | "storage" : { | |
38405 | "type" : "string" | |
7aacca6f | 38406 | } |
56122987 | 38407 | }, |
44660702 DM |
38408 | "type" : "object" |
38409 | }, | |
38410 | "links" : [ | |
38411 | { | |
38412 | "href" : "{storage}", | |
38413 | "rel" : "child" | |
38414 | } | |
38415 | ], | |
38416 | "type" : "array" | |
38417 | } | |
38418 | }, | |
38419 | "POST" : { | |
e9cd3bd4 | 38420 | "allowtoken" : 1, |
44660702 DM |
38421 | "description" : "Create a new storage.", |
38422 | "method" : "POST", | |
38423 | "name" : "create", | |
38424 | "parameters" : { | |
38425 | "additionalProperties" : 0, | |
38426 | "properties" : { | |
38427 | "authsupported" : { | |
38428 | "description" : "Authsupported.", | |
38429 | "optional" : 1, | |
013dc89f DM |
38430 | "type" : "string", |
38431 | "typetext" : "<string>" | |
44660702 DM |
38432 | }, |
38433 | "base" : { | |
38434 | "description" : "Base volume. This volume is automatically activated.", | |
38435 | "format" : "pve-volume-id", | |
38436 | "optional" : 1, | |
013dc89f DM |
38437 | "type" : "string", |
38438 | "typetext" : "<string>" | |
44660702 DM |
38439 | }, |
38440 | "blocksize" : { | |
38441 | "description" : "block size", | |
38442 | "optional" : 1, | |
013dc89f DM |
38443 | "type" : "string", |
38444 | "typetext" : "<string>" | |
44660702 | 38445 | }, |
27a7acb2 DM |
38446 | "bwlimit" : { |
38447 | "description" : "Set bandwidth/io limits various operations.", | |
38448 | "format" : { | |
38449 | "clone" : { | |
95895385 | 38450 | "description" : "bandwidth limit in KiB/s for cloning disks", |
27a7acb2 DM |
38451 | "format_description" : "LIMIT", |
38452 | "minimum" : "0", | |
38453 | "optional" : 1, | |
38454 | "type" : "number" | |
38455 | }, | |
38456 | "default" : { | |
95895385 | 38457 | "description" : "default bandwidth limit in KiB/s", |
27a7acb2 DM |
38458 | "format_description" : "LIMIT", |
38459 | "minimum" : "0", | |
38460 | "optional" : 1, | |
38461 | "type" : "number" | |
38462 | }, | |
38463 | "migration" : { | |
95895385 | 38464 | "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)", |
27a7acb2 DM |
38465 | "format_description" : "LIMIT", |
38466 | "minimum" : "0", | |
38467 | "optional" : 1, | |
38468 | "type" : "number" | |
38469 | }, | |
38470 | "move" : { | |
95895385 | 38471 | "description" : "bandwidth limit in KiB/s for moving disks", |
27a7acb2 DM |
38472 | "format_description" : "LIMIT", |
38473 | "minimum" : "0", | |
38474 | "optional" : 1, | |
38475 | "type" : "number" | |
38476 | }, | |
38477 | "restore" : { | |
95895385 | 38478 | "description" : "bandwidth limit in KiB/s for restoring guests from backups", |
27a7acb2 DM |
38479 | "format_description" : "LIMIT", |
38480 | "minimum" : "0", | |
38481 | "optional" : 1, | |
38482 | "type" : "number" | |
38483 | } | |
38484 | }, | |
38485 | "optional" : 1, | |
38486 | "type" : "string", | |
38487 | "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]" | |
38488 | }, | |
44660702 DM |
38489 | "comstar_hg" : { |
38490 | "description" : "host group for comstar views", | |
38491 | "optional" : 1, | |
013dc89f DM |
38492 | "type" : "string", |
38493 | "typetext" : "<string>" | |
44660702 DM |
38494 | }, |
38495 | "comstar_tg" : { | |
38496 | "description" : "target group for comstar views", | |
38497 | "optional" : 1, | |
013dc89f DM |
38498 | "type" : "string", |
38499 | "typetext" : "<string>" | |
44660702 DM |
38500 | }, |
38501 | "content" : { | |
38502 | "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n", | |
38503 | "format" : "pve-storage-content-list", | |
38504 | "optional" : 1, | |
013dc89f DM |
38505 | "type" : "string", |
38506 | "typetext" : "<string>" | |
44660702 | 38507 | }, |
c5aa7e14 TL |
38508 | "datastore" : { |
38509 | "description" : "Proxmox backup server datastore name.", | |
38510 | "optional" : 1, | |
38511 | "type" : "string", | |
38512 | "typetext" : "<string>" | |
38513 | }, | |
44660702 DM |
38514 | "disable" : { |
38515 | "description" : "Flag to disable the storage.", | |
38516 | "optional" : 1, | |
013dc89f DM |
38517 | "type" : "boolean", |
38518 | "typetext" : "<boolean>" | |
44660702 | 38519 | }, |
27a7acb2 DM |
38520 | "domain" : { |
38521 | "description" : "CIFS domain.", | |
38522 | "maxLength" : 256, | |
38523 | "optional" : 1, | |
38524 | "type" : "string", | |
38525 | "typetext" : "<string>" | |
38526 | }, | |
44660702 DM |
38527 | "export" : { |
38528 | "description" : "NFS export path.", | |
38529 | "format" : "pve-storage-path", | |
38530 | "optional" : 1, | |
013dc89f DM |
38531 | "type" : "string", |
38532 | "typetext" : "<string>" | |
44660702 | 38533 | }, |
c5aa7e14 TL |
38534 | "fingerprint" : { |
38535 | "description" : "Certificate SHA 256 fingerprint.", | |
38536 | "optional" : 1, | |
38537 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
38538 | "type" : "string" | |
38539 | }, | |
44660702 DM |
38540 | "format" : { |
38541 | "description" : "Default image format.", | |
38542 | "format" : "pve-storage-format", | |
38543 | "optional" : 1, | |
013dc89f DM |
38544 | "type" : "string", |
38545 | "typetext" : "<string>" | |
44660702 | 38546 | }, |
5da3d723 TL |
38547 | "fuse" : { |
38548 | "description" : "Mount CephFS through FUSE.", | |
38549 | "optional" : 1, | |
38550 | "type" : "boolean", | |
38551 | "typetext" : "<boolean>" | |
38552 | }, | |
2c0dde61 DM |
38553 | "is_mountpoint" : { |
38554 | "default" : "no", | |
2489d6df | 38555 | "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.", |
2c0dde61 | 38556 | "optional" : 1, |
2489d6df WB |
38557 | "type" : "string", |
38558 | "typetext" : "<string>" | |
2c0dde61 | 38559 | }, |
44660702 DM |
38560 | "iscsiprovider" : { |
38561 | "description" : "iscsi provider", | |
38562 | "optional" : 1, | |
013dc89f DM |
38563 | "type" : "string", |
38564 | "typetext" : "<string>" | |
44660702 DM |
38565 | }, |
38566 | "krbd" : { | |
e2d681b3 | 38567 | "description" : "Always access rbd through krbd kernel module.", |
44660702 | 38568 | "optional" : 1, |
013dc89f DM |
38569 | "type" : "boolean", |
38570 | "typetext" : "<boolean>" | |
56122987 | 38571 | }, |
4d47f125 TL |
38572 | "lio_tpg" : { |
38573 | "description" : "target portal group for Linux LIO targets", | |
38574 | "optional" : 1, | |
38575 | "type" : "string", | |
38576 | "typetext" : "<string>" | |
38577 | }, | |
44660702 DM |
38578 | "maxfiles" : { |
38579 | "description" : "Maximal number of backup files per VM. Use '0' for unlimted.", | |
38580 | "minimum" : 0, | |
38581 | "optional" : 1, | |
4bd7df8b | 38582 | "type" : "integer", |
013dc89f | 38583 | "typetext" : "<integer> (0 - N)" |
4bd7df8b DM |
38584 | }, |
38585 | "mkdir" : { | |
38586 | "default" : "yes", | |
38587 | "description" : "Create the directory if it doesn't exist.", | |
38588 | "optional" : 1, | |
013dc89f DM |
38589 | "type" : "boolean", |
38590 | "typetext" : "<boolean>" | |
7aacca6f | 38591 | }, |
44660702 | 38592 | "monhost" : { |
2489d6df | 38593 | "description" : "IP addresses of monitors (for external clusters).", |
4bd7df8b | 38594 | "format" : "pve-storage-portal-dns-list", |
44660702 | 38595 | "optional" : 1, |
013dc89f DM |
38596 | "type" : "string", |
38597 | "typetext" : "<string>" | |
7aacca6f | 38598 | }, |
5c1699e5 TL |
38599 | "mountpoint" : { |
38600 | "description" : "mount point", | |
38601 | "format" : "pve-storage-path", | |
38602 | "optional" : 1, | |
38603 | "type" : "string", | |
38604 | "typetext" : "<string>" | |
38605 | }, | |
44660702 DM |
38606 | "nodes" : { |
38607 | "description" : "List of cluster node names.", | |
38608 | "format" : "pve-node-list", | |
38609 | "optional" : 1, | |
013dc89f DM |
38610 | "type" : "string", |
38611 | "typetext" : "<string>" | |
7aacca6f | 38612 | }, |
44660702 DM |
38613 | "nowritecache" : { |
38614 | "description" : "disable write caching on the target", | |
38615 | "optional" : 1, | |
013dc89f DM |
38616 | "type" : "boolean", |
38617 | "typetext" : "<boolean>" | |
44660702 DM |
38618 | }, |
38619 | "options" : { | |
38620 | "description" : "NFS mount options (see 'man nfs')", | |
38621 | "format" : "pve-storage-options", | |
38622 | "optional" : 1, | |
013dc89f DM |
38623 | "type" : "string", |
38624 | "typetext" : "<string>" | |
44660702 | 38625 | }, |
27a7acb2 DM |
38626 | "password" : { |
38627 | "description" : "Password for CIFS share.", | |
38628 | "maxLength" : 256, | |
38629 | "optional" : 1, | |
38630 | "type" : "string", | |
38631 | "typetext" : "<string>" | |
38632 | }, | |
44660702 DM |
38633 | "path" : { |
38634 | "description" : "File system path.", | |
38635 | "format" : "pve-storage-path", | |
38636 | "optional" : 1, | |
013dc89f DM |
38637 | "type" : "string", |
38638 | "typetext" : "<string>" | |
44660702 DM |
38639 | }, |
38640 | "pool" : { | |
38641 | "description" : "Pool.", | |
38642 | "optional" : 1, | |
013dc89f DM |
38643 | "type" : "string", |
38644 | "typetext" : "<string>" | |
44660702 DM |
38645 | }, |
38646 | "portal" : { | |
38647 | "description" : "iSCSI portal (IP or DNS name with optional port).", | |
38648 | "format" : "pve-storage-portal-dns", | |
38649 | "optional" : 1, | |
013dc89f DM |
38650 | "type" : "string", |
38651 | "typetext" : "<string>" | |
44660702 DM |
38652 | }, |
38653 | "redundancy" : { | |
38654 | "default" : 2, | |
38655 | "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.", | |
38656 | "maximum" : 16, | |
38657 | "minimum" : 1, | |
38658 | "optional" : 1, | |
4bd7df8b | 38659 | "type" : "integer", |
013dc89f | 38660 | "typetext" : "<integer> (1 - 16)" |
44660702 DM |
38661 | }, |
38662 | "saferemove" : { | |
38663 | "description" : "Zero-out data when removing LVs.", | |
38664 | "optional" : 1, | |
013dc89f DM |
38665 | "type" : "boolean", |
38666 | "typetext" : "<boolean>" | |
44660702 DM |
38667 | }, |
38668 | "saferemove_throughput" : { | |
38669 | "description" : "Wipe throughput (cstream -t parameter value).", | |
38670 | "optional" : 1, | |
013dc89f DM |
38671 | "type" : "string", |
38672 | "typetext" : "<string>" | |
44660702 DM |
38673 | }, |
38674 | "server" : { | |
38675 | "description" : "Server IP or DNS name.", | |
38676 | "format" : "pve-storage-server", | |
38677 | "optional" : 1, | |
013dc89f DM |
38678 | "type" : "string", |
38679 | "typetext" : "<string>" | |
44660702 DM |
38680 | }, |
38681 | "server2" : { | |
38682 | "description" : "Backup volfile server IP or DNS name.", | |
38683 | "format" : "pve-storage-server", | |
38684 | "optional" : 1, | |
38685 | "requires" : "server", | |
013dc89f DM |
38686 | "type" : "string", |
38687 | "typetext" : "<string>" | |
44660702 | 38688 | }, |
27a7acb2 DM |
38689 | "share" : { |
38690 | "description" : "CIFS share.", | |
38691 | "optional" : 1, | |
38692 | "type" : "string", | |
38693 | "typetext" : "<string>" | |
38694 | }, | |
44660702 DM |
38695 | "shared" : { |
38696 | "description" : "Mark storage as shared.", | |
38697 | "optional" : 1, | |
013dc89f DM |
38698 | "type" : "boolean", |
38699 | "typetext" : "<boolean>" | |
44660702 | 38700 | }, |
27a7acb2 | 38701 | "smbversion" : { |
5da3d723 TL |
38702 | "description" : "SMB protocol version", |
38703 | "enum" : [ | |
38704 | "2.0", | |
38705 | "2.1", | |
38706 | "3.0" | |
38707 | ], | |
27a7acb2 | 38708 | "optional" : 1, |
5da3d723 | 38709 | "type" : "string" |
27a7acb2 | 38710 | }, |
44660702 DM |
38711 | "sparse" : { |
38712 | "description" : "use sparse volumes", | |
38713 | "optional" : 1, | |
013dc89f DM |
38714 | "type" : "boolean", |
38715 | "typetext" : "<boolean>" | |
44660702 DM |
38716 | }, |
38717 | "storage" : { | |
38718 | "description" : "The storage identifier.", | |
38719 | "format" : "pve-storage-id", | |
013dc89f DM |
38720 | "type" : "string", |
38721 | "typetext" : "<string>" | |
44660702 | 38722 | }, |
5da3d723 TL |
38723 | "subdir" : { |
38724 | "description" : "Subdir to mount.", | |
38725 | "format" : "pve-storage-path", | |
38726 | "optional" : 1, | |
38727 | "type" : "string", | |
38728 | "typetext" : "<string>" | |
38729 | }, | |
4bd7df8b DM |
38730 | "tagged_only" : { |
38731 | "description" : "Only use logical volumes tagged with 'pve-vm-ID'.", | |
38732 | "optional" : 1, | |
013dc89f DM |
38733 | "type" : "boolean", |
38734 | "typetext" : "<boolean>" | |
4bd7df8b | 38735 | }, |
44660702 DM |
38736 | "target" : { |
38737 | "description" : "iSCSI target.", | |
38738 | "optional" : 1, | |
013dc89f DM |
38739 | "type" : "string", |
38740 | "typetext" : "<string>" | |
44660702 DM |
38741 | }, |
38742 | "thinpool" : { | |
38743 | "description" : "LVM thin pool LV name.", | |
38744 | "format" : "pve-storage-vgname", | |
38745 | "optional" : 1, | |
013dc89f DM |
38746 | "type" : "string", |
38747 | "typetext" : "<string>" | |
44660702 DM |
38748 | }, |
38749 | "transport" : { | |
38750 | "description" : "Gluster transport: tcp or rdma", | |
38751 | "enum" : [ | |
38752 | "tcp", | |
38753 | "rdma", | |
38754 | "unix" | |
7aacca6f | 38755 | ], |
44660702 DM |
38756 | "optional" : 1, |
38757 | "type" : "string" | |
56122987 | 38758 | }, |
44660702 DM |
38759 | "type" : { |
38760 | "description" : "Storage type.", | |
38761 | "enum" : [ | |
5da3d723 | 38762 | "cephfs", |
27a7acb2 | 38763 | "cifs", |
44660702 DM |
38764 | "dir", |
38765 | "drbd", | |
38766 | "glusterfs", | |
38767 | "iscsi", | |
38768 | "iscsidirect", | |
38769 | "lvm", | |
38770 | "lvmthin", | |
38771 | "nfs", | |
c5aa7e14 | 38772 | "pbs", |
44660702 | 38773 | "rbd", |
44660702 DM |
38774 | "zfs", |
38775 | "zfspool" | |
38776 | ], | |
38777 | "type" : "string" | |
56122987 | 38778 | }, |
44660702 DM |
38779 | "username" : { |
38780 | "description" : "RBD Id.", | |
38781 | "optional" : 1, | |
013dc89f DM |
38782 | "type" : "string", |
38783 | "typetext" : "<string>" | |
7aacca6f | 38784 | }, |
44660702 DM |
38785 | "vgname" : { |
38786 | "description" : "Volume group name.", | |
38787 | "format" : "pve-storage-vgname", | |
38788 | "optional" : 1, | |
013dc89f DM |
38789 | "type" : "string", |
38790 | "typetext" : "<string>" | |
44660702 DM |
38791 | }, |
38792 | "volume" : { | |
38793 | "description" : "Glusterfs Volume.", | |
38794 | "optional" : 1, | |
013dc89f DM |
38795 | "type" : "string", |
38796 | "typetext" : "<string>" | |
44660702 DM |
38797 | } |
38798 | }, | |
38799 | "type" : "object" | |
38800 | }, | |
38801 | "permissions" : { | |
38802 | "check" : [ | |
38803 | "perm", | |
38804 | "/storage", | |
38805 | [ | |
38806 | "Datastore.Allocate" | |
38807 | ] | |
38808 | ] | |
56122987 | 38809 | }, |
44660702 DM |
38810 | "protected" : 1, |
38811 | "returns" : { | |
38812 | "type" : "null" | |
38813 | } | |
38814 | } | |
38815 | }, | |
38816 | "leaf" : 0, | |
38817 | "path" : "/storage", | |
38818 | "text" : "storage" | |
38819 | }, | |
38820 | { | |
38821 | "children" : [ | |
38822 | { | |
56122987 DM |
38823 | "children" : [ |
38824 | { | |
bb4c8cf8 TL |
38825 | "children" : [ |
38826 | { | |
38827 | "info" : { | |
38828 | "GET" : { | |
e9cd3bd4 | 38829 | "allowtoken" : 1, |
bb4c8cf8 TL |
38830 | "description" : "Get user TFA types (Personal and Realm).", |
38831 | "method" : "GET", | |
38832 | "name" : "read_user_tfa_type", | |
38833 | "parameters" : { | |
38834 | "additionalProperties" : 0, | |
38835 | "properties" : { | |
38836 | "userid" : { | |
38837 | "description" : "User ID", | |
38838 | "format" : "pve-userid", | |
38839 | "maxLength" : 64, | |
38840 | "type" : "string", | |
38841 | "typetext" : "<string>" | |
38842 | } | |
38843 | } | |
38844 | }, | |
38845 | "permissions" : { | |
38846 | "check" : [ | |
38847 | "or", | |
38848 | [ | |
38849 | "userid-param", | |
38850 | "self" | |
38851 | ], | |
38852 | [ | |
38853 | "userid-group", | |
38854 | [ | |
38855 | "User.Modify", | |
38856 | "Sys.Audit" | |
38857 | ] | |
38858 | ] | |
38859 | ] | |
38860 | }, | |
38861 | "protected" : 1, | |
38862 | "returns" : { | |
38863 | "additionalProperties" : 0, | |
38864 | "properties" : { | |
38865 | "realm" : { | |
38866 | "description" : "The type of TFA the users realm has set, if any.", | |
38867 | "enum" : [ | |
38868 | "oath", | |
38869 | "yubico" | |
38870 | ], | |
38871 | "optional" : 1, | |
38872 | "type" : "string" | |
38873 | }, | |
38874 | "user" : { | |
38875 | "description" : "The type of TFA the user has set, if any.", | |
38876 | "enum" : [ | |
38877 | "oath", | |
38878 | "u2f" | |
38879 | ], | |
38880 | "optional" : 1, | |
38881 | "type" : "string" | |
38882 | } | |
38883 | }, | |
38884 | "type" : "object" | |
38885 | } | |
38886 | } | |
38887 | }, | |
38888 | "leaf" : 1, | |
38889 | "path" : "/access/users/{userid}/tfa", | |
38890 | "text" : "tfa" | |
e9cd3bd4 TL |
38891 | }, |
38892 | { | |
38893 | "children" : [ | |
38894 | { | |
38895 | "info" : { | |
38896 | "DELETE" : { | |
38897 | "allowtoken" : 1, | |
38898 | "description" : "Remove API token for a specific user.", | |
38899 | "method" : "DELETE", | |
38900 | "name" : "remove_token", | |
38901 | "parameters" : { | |
38902 | "additionalProperties" : 0, | |
38903 | "properties" : { | |
38904 | "tokenid" : { | |
38905 | "description" : "User-specific token identifier.", | |
38906 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
38907 | "type" : "string" | |
38908 | }, | |
38909 | "userid" : { | |
38910 | "description" : "User ID", | |
38911 | "format" : "pve-userid", | |
38912 | "maxLength" : 64, | |
38913 | "type" : "string", | |
38914 | "typetext" : "<string>" | |
38915 | } | |
38916 | } | |
38917 | }, | |
38918 | "permissions" : { | |
38919 | "check" : [ | |
38920 | "or", | |
38921 | [ | |
38922 | "userid-param", | |
38923 | "self" | |
38924 | ], | |
38925 | [ | |
38926 | "perm", | |
38927 | "/access/users/{userid}", | |
38928 | [ | |
38929 | "User.Modify" | |
38930 | ] | |
38931 | ] | |
38932 | ] | |
38933 | }, | |
38934 | "protected" : 1, | |
38935 | "returns" : { | |
c5aa7e14 TL |
38936 | "type" : "null" |
38937 | } | |
38938 | }, | |
38939 | "GET" : { | |
38940 | "allowtoken" : 1, | |
38941 | "description" : "Get specific API token information.", | |
38942 | "method" : "GET", | |
38943 | "name" : "read_token", | |
38944 | "parameters" : { | |
38945 | "additionalProperties" : 0, | |
38946 | "properties" : { | |
38947 | "tokenid" : { | |
38948 | "description" : "User-specific token identifier.", | |
38949 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
38950 | "type" : "string" | |
38951 | }, | |
38952 | "userid" : { | |
38953 | "description" : "User ID", | |
38954 | "format" : "pve-userid", | |
38955 | "maxLength" : 64, | |
38956 | "type" : "string", | |
38957 | "typetext" : "<string>" | |
38958 | } | |
38959 | } | |
38960 | }, | |
38961 | "permissions" : { | |
38962 | "check" : [ | |
38963 | "or", | |
38964 | [ | |
38965 | "userid-param", | |
38966 | "self" | |
38967 | ], | |
38968 | [ | |
38969 | "perm", | |
38970 | "/access/users/{userid}", | |
38971 | [ | |
38972 | "User.Modify" | |
38973 | ] | |
38974 | ] | |
38975 | ] | |
38976 | }, | |
38977 | "returns" : { | |
38978 | "properties" : { | |
38979 | "comment" : { | |
38980 | "optional" : 1, | |
38981 | "type" : "string" | |
38982 | }, | |
38983 | "expire" : { | |
38984 | "default" : "same as user", | |
38985 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
38986 | "minimum" : 0, | |
38987 | "optional" : 1, | |
38988 | "type" : "integer" | |
38989 | }, | |
38990 | "privsep" : { | |
38991 | "default" : 1, | |
38992 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
38993 | "optional" : 1, | |
38994 | "type" : "boolean" | |
38995 | } | |
38996 | }, | |
38997 | "type" : "object" | |
38998 | } | |
38999 | }, | |
39000 | "POST" : { | |
39001 | "allowtoken" : 1, | |
39002 | "description" : "Generate a new API token for a specific user. NOTE: returns API token value, which needs to be stored as it cannot be retrieved afterwards!", | |
39003 | "method" : "POST", | |
39004 | "name" : "generate_token", | |
39005 | "parameters" : { | |
39006 | "additionalProperties" : 0, | |
39007 | "properties" : { | |
39008 | "comment" : { | |
39009 | "optional" : 1, | |
39010 | "type" : "string", | |
39011 | "typetext" : "<string>" | |
39012 | }, | |
39013 | "expire" : { | |
39014 | "default" : "same as user", | |
39015 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39016 | "minimum" : 0, | |
39017 | "optional" : 1, | |
39018 | "type" : "integer", | |
39019 | "typetext" : "<integer> (0 - N)" | |
39020 | }, | |
39021 | "privsep" : { | |
39022 | "default" : 1, | |
39023 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39024 | "optional" : 1, | |
39025 | "type" : "boolean", | |
39026 | "typetext" : "<boolean>" | |
39027 | }, | |
39028 | "tokenid" : { | |
39029 | "description" : "User-specific token identifier.", | |
39030 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
39031 | "type" : "string" | |
39032 | }, | |
39033 | "userid" : { | |
39034 | "description" : "User ID", | |
39035 | "format" : "pve-userid", | |
39036 | "maxLength" : 64, | |
39037 | "type" : "string", | |
39038 | "typetext" : "<string>" | |
39039 | } | |
39040 | } | |
39041 | }, | |
39042 | "permissions" : { | |
39043 | "check" : [ | |
39044 | "or", | |
39045 | [ | |
39046 | "userid-param", | |
39047 | "self" | |
39048 | ], | |
39049 | [ | |
39050 | "perm", | |
39051 | "/access/users/{userid}", | |
39052 | [ | |
39053 | "User.Modify" | |
39054 | ] | |
39055 | ] | |
39056 | ] | |
39057 | }, | |
39058 | "protected" : 1, | |
39059 | "returns" : { | |
e9cd3bd4 TL |
39060 | "additionalProperties" : 0, |
39061 | "properties" : { | |
c5aa7e14 TL |
39062 | "full-tokenid" : { |
39063 | "description" : "The full token id.", | |
39064 | "format_description" : "<userid>!<tokenid>", | |
e9cd3bd4 TL |
39065 | "type" : "string" |
39066 | }, | |
e9cd3bd4 TL |
39067 | "info" : { |
39068 | "properties" : { | |
39069 | "comment" : { | |
39070 | "optional" : 1, | |
39071 | "type" : "string" | |
39072 | }, | |
39073 | "expire" : { | |
39074 | "default" : "same as user", | |
39075 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39076 | "minimum" : 0, | |
39077 | "optional" : 1, | |
39078 | "type" : "integer" | |
39079 | }, | |
39080 | "privsep" : { | |
39081 | "default" : 1, | |
39082 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39083 | "optional" : 1, | |
39084 | "type" : "boolean" | |
39085 | } | |
39086 | }, | |
39087 | "type" : "object" | |
39088 | }, | |
39089 | "value" : { | |
39090 | "description" : "API token value used for authentication.", | |
39091 | "type" : "string" | |
39092 | } | |
39093 | }, | |
39094 | "type" : "object" | |
39095 | } | |
39096 | }, | |
39097 | "PUT" : { | |
39098 | "allowtoken" : 1, | |
39099 | "description" : "Update API token for a specific user.", | |
39100 | "method" : "PUT", | |
39101 | "name" : "update_token_info", | |
39102 | "parameters" : { | |
39103 | "additionalProperties" : 0, | |
39104 | "properties" : { | |
39105 | "comment" : { | |
39106 | "optional" : 1, | |
39107 | "type" : "string", | |
39108 | "typetext" : "<string>" | |
39109 | }, | |
39110 | "expire" : { | |
39111 | "default" : "same as user", | |
39112 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39113 | "minimum" : 0, | |
39114 | "optional" : 1, | |
39115 | "type" : "integer", | |
39116 | "typetext" : "<integer> (0 - N)" | |
39117 | }, | |
39118 | "privsep" : { | |
39119 | "default" : 1, | |
39120 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39121 | "optional" : 1, | |
39122 | "type" : "boolean", | |
39123 | "typetext" : "<boolean>" | |
39124 | }, | |
39125 | "tokenid" : { | |
39126 | "description" : "User-specific token identifier.", | |
39127 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
39128 | "type" : "string" | |
39129 | }, | |
39130 | "userid" : { | |
39131 | "description" : "User ID", | |
39132 | "format" : "pve-userid", | |
39133 | "maxLength" : 64, | |
39134 | "type" : "string", | |
39135 | "typetext" : "<string>" | |
39136 | } | |
39137 | } | |
39138 | }, | |
39139 | "permissions" : { | |
39140 | "check" : [ | |
39141 | "or", | |
39142 | [ | |
39143 | "userid-param", | |
39144 | "self" | |
39145 | ], | |
39146 | [ | |
39147 | "perm", | |
39148 | "/access/users/{userid}", | |
39149 | [ | |
39150 | "User.Modify" | |
39151 | ] | |
39152 | ] | |
39153 | ] | |
39154 | }, | |
39155 | "protected" : 1, | |
39156 | "returns" : { | |
39157 | "description" : "Updated token information.", | |
39158 | "properties" : { | |
39159 | "comment" : { | |
39160 | "optional" : 1, | |
39161 | "type" : "string" | |
39162 | }, | |
39163 | "expire" : { | |
39164 | "default" : "same as user", | |
39165 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39166 | "minimum" : 0, | |
39167 | "optional" : 1, | |
39168 | "type" : "integer" | |
39169 | }, | |
39170 | "privsep" : { | |
39171 | "default" : 1, | |
39172 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39173 | "optional" : 1, | |
39174 | "type" : "boolean" | |
39175 | } | |
39176 | }, | |
39177 | "type" : "object" | |
39178 | } | |
39179 | } | |
39180 | }, | |
39181 | "leaf" : 1, | |
39182 | "path" : "/access/users/{userid}/token/{tokenid}", | |
39183 | "text" : "{tokenid}" | |
39184 | } | |
39185 | ], | |
39186 | "info" : { | |
39187 | "GET" : { | |
39188 | "allowtoken" : 1, | |
39189 | "description" : "Get user API tokens.", | |
39190 | "method" : "GET", | |
39191 | "name" : "token_index", | |
39192 | "parameters" : { | |
39193 | "additionalProperties" : 0, | |
39194 | "properties" : { | |
39195 | "userid" : { | |
39196 | "description" : "User ID", | |
39197 | "format" : "pve-userid", | |
39198 | "maxLength" : 64, | |
39199 | "type" : "string", | |
39200 | "typetext" : "<string>" | |
39201 | } | |
39202 | } | |
39203 | }, | |
39204 | "permissions" : { | |
39205 | "check" : [ | |
39206 | "or", | |
39207 | [ | |
39208 | "userid-param", | |
39209 | "self" | |
39210 | ], | |
39211 | [ | |
39212 | "perm", | |
39213 | "/access/users/{userid}", | |
39214 | [ | |
39215 | "User.Modify" | |
39216 | ] | |
39217 | ] | |
39218 | ] | |
39219 | }, | |
39220 | "returns" : { | |
39221 | "items" : { | |
39222 | "properties" : { | |
39223 | "comment" : { | |
39224 | "optional" : 1, | |
39225 | "type" : "string" | |
39226 | }, | |
39227 | "expire" : { | |
39228 | "default" : "same as user", | |
39229 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39230 | "minimum" : 0, | |
39231 | "optional" : 1, | |
39232 | "type" : "integer" | |
39233 | }, | |
39234 | "privsep" : { | |
39235 | "default" : 1, | |
39236 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39237 | "optional" : 1, | |
39238 | "type" : "boolean" | |
39239 | }, | |
39240 | "tokenid" : { | |
39241 | "description" : "User-specific token identifier.", | |
39242 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
39243 | "type" : "string" | |
39244 | } | |
39245 | }, | |
39246 | "type" : "object" | |
39247 | }, | |
39248 | "links" : [ | |
39249 | { | |
39250 | "href" : "{tokenid}", | |
39251 | "rel" : "child" | |
39252 | } | |
39253 | ], | |
39254 | "type" : "array" | |
39255 | } | |
39256 | } | |
39257 | }, | |
39258 | "leaf" : 0, | |
39259 | "path" : "/access/users/{userid}/token", | |
39260 | "text" : "token" | |
bb4c8cf8 TL |
39261 | } |
39262 | ], | |
56122987 | 39263 | "info" : { |
44660702 | 39264 | "DELETE" : { |
e9cd3bd4 | 39265 | "allowtoken" : 1, |
44660702 DM |
39266 | "description" : "Delete user.", |
39267 | "method" : "DELETE", | |
39268 | "name" : "delete_user", | |
56122987 | 39269 | "parameters" : { |
7aacca6f | 39270 | "additionalProperties" : 0, |
56122987 | 39271 | "properties" : { |
56122987 | 39272 | "userid" : { |
56122987 DM |
39273 | "description" : "User ID", |
39274 | "format" : "pve-userid", | |
44660702 | 39275 | "maxLength" : 64, |
013dc89f DM |
39276 | "type" : "string", |
39277 | "typetext" : "<string>" | |
56122987 | 39278 | } |
7aacca6f | 39279 | } |
56122987 | 39280 | }, |
56122987 DM |
39281 | "permissions" : { |
39282 | "check" : [ | |
44660702 | 39283 | "and", |
56122987 | 39284 | [ |
44660702 DM |
39285 | "userid-param", |
39286 | "Realm.AllocateUser" | |
56122987 | 39287 | ], |
44660702 DM |
39288 | [ |
39289 | "userid-group", | |
39290 | [ | |
39291 | "User.Modify" | |
39292 | ] | |
39293 | ] | |
56122987 | 39294 | ] |
7aacca6f | 39295 | }, |
44660702 | 39296 | "protected" : 1, |
56122987 DM |
39297 | "returns" : { |
39298 | "type" : "null" | |
44660702 | 39299 | } |
7aacca6f | 39300 | }, |
44660702 | 39301 | "GET" : { |
e9cd3bd4 | 39302 | "allowtoken" : 1, |
44660702 DM |
39303 | "description" : "Get user configuration.", |
39304 | "method" : "GET", | |
39305 | "name" : "read_user", | |
56122987 DM |
39306 | "parameters" : { |
39307 | "additionalProperties" : 0, | |
39308 | "properties" : { | |
39309 | "userid" : { | |
44660702 | 39310 | "description" : "User ID", |
56122987 | 39311 | "format" : "pve-userid", |
44660702 | 39312 | "maxLength" : 64, |
013dc89f DM |
39313 | "type" : "string", |
39314 | "typetext" : "<string>" | |
56122987 DM |
39315 | } |
39316 | } | |
39317 | }, | |
56122987 DM |
39318 | "permissions" : { |
39319 | "check" : [ | |
44660702 | 39320 | "userid-group", |
56122987 | 39321 | [ |
44660702 DM |
39322 | "User.Modify", |
39323 | "Sys.Audit" | |
56122987 DM |
39324 | ] |
39325 | ] | |
39326 | }, | |
56122987 | 39327 | "returns" : { |
7aacca6f | 39328 | "additionalProperties" : 0, |
56122987 | 39329 | "properties" : { |
44660702 DM |
39330 | "comment" : { |
39331 | "optional" : 1, | |
39332 | "type" : "string" | |
56122987 | 39333 | }, |
44660702 | 39334 | "email" : { |
e2d681b3 | 39335 | "format" : "email-opt", |
44660702 DM |
39336 | "optional" : 1, |
39337 | "type" : "string" | |
7aacca6f DM |
39338 | }, |
39339 | "enable" : { | |
e2d681b3 TL |
39340 | "default" : 1, |
39341 | "description" : "Enable the account (default). You can set this to '0' to disable the account", | |
39342 | "optional" : 1, | |
7aacca6f DM |
39343 | "type" : "boolean" |
39344 | }, | |
44660702 | 39345 | "expire" : { |
e2d681b3 TL |
39346 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", |
39347 | "minimum" : 0, | |
44660702 DM |
39348 | "optional" : 1, |
39349 | "type" : "integer" | |
39350 | }, | |
39351 | "firstname" : { | |
56122987 DM |
39352 | "optional" : 1, |
39353 | "type" : "string" | |
39354 | }, | |
44660702 | 39355 | "groups" : { |
e9cd3bd4 TL |
39356 | "items" : { |
39357 | "format" : "pve-groupid", | |
39358 | "type" : "string" | |
39359 | }, | |
39360 | "optional" : 1, | |
44660702 | 39361 | "type" : "array" |
56122987 | 39362 | }, |
44660702 | 39363 | "keys" : { |
e2d681b3 | 39364 | "description" : "Keys for two factor auth (yubico).", |
44660702 DM |
39365 | "optional" : 1, |
39366 | "type" : "string" | |
7aacca6f | 39367 | }, |
44660702 DM |
39368 | "lastname" : { |
39369 | "optional" : 1, | |
39370 | "type" : "string" | |
e9cd3bd4 TL |
39371 | }, |
39372 | "tokens" : { | |
39373 | "optional" : 1, | |
39374 | "type" : "object" | |
56122987 | 39375 | } |
e2d681b3 TL |
39376 | }, |
39377 | "type" : "object" | |
44660702 DM |
39378 | } |
39379 | }, | |
39380 | "PUT" : { | |
e9cd3bd4 | 39381 | "allowtoken" : 1, |
44660702 DM |
39382 | "description" : "Update user configuration.", |
39383 | "method" : "PUT", | |
39384 | "name" : "update_user", | |
56122987 | 39385 | "parameters" : { |
44660702 | 39386 | "additionalProperties" : 0, |
56122987 | 39387 | "properties" : { |
44660702 DM |
39388 | "append" : { |
39389 | "optional" : 1, | |
39390 | "requires" : "groups", | |
013dc89f DM |
39391 | "type" : "boolean", |
39392 | "typetext" : "<boolean>" | |
44660702 DM |
39393 | }, |
39394 | "comment" : { | |
39395 | "optional" : 1, | |
013dc89f DM |
39396 | "type" : "string", |
39397 | "typetext" : "<string>" | |
44660702 DM |
39398 | }, |
39399 | "email" : { | |
39400 | "format" : "email-opt", | |
39401 | "optional" : 1, | |
013dc89f DM |
39402 | "type" : "string", |
39403 | "typetext" : "<string>" | |
44660702 DM |
39404 | }, |
39405 | "enable" : { | |
e2d681b3 TL |
39406 | "default" : 1, |
39407 | "description" : "Enable the account (default). You can set this to '0' to disable the account", | |
44660702 | 39408 | "optional" : 1, |
013dc89f DM |
39409 | "type" : "boolean", |
39410 | "typetext" : "<boolean>" | |
44660702 DM |
39411 | }, |
39412 | "expire" : { | |
39413 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
39414 | "minimum" : 0, | |
39415 | "optional" : 1, | |
4bd7df8b | 39416 | "type" : "integer", |
013dc89f | 39417 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
39418 | }, |
39419 | "firstname" : { | |
39420 | "optional" : 1, | |
013dc89f DM |
39421 | "type" : "string", |
39422 | "typetext" : "<string>" | |
44660702 DM |
39423 | }, |
39424 | "groups" : { | |
39425 | "format" : "pve-groupid-list", | |
39426 | "optional" : 1, | |
013dc89f DM |
39427 | "type" : "string", |
39428 | "typetext" : "<string>" | |
44660702 DM |
39429 | }, |
39430 | "keys" : { | |
39431 | "description" : "Keys for two factor auth (yubico).", | |
39432 | "optional" : 1, | |
013dc89f DM |
39433 | "type" : "string", |
39434 | "typetext" : "<string>" | |
44660702 DM |
39435 | }, |
39436 | "lastname" : { | |
39437 | "optional" : 1, | |
013dc89f DM |
39438 | "type" : "string", |
39439 | "typetext" : "<string>" | |
44660702 | 39440 | }, |
56122987 | 39441 | "userid" : { |
56122987 DM |
39442 | "description" : "User ID", |
39443 | "format" : "pve-userid", | |
44660702 | 39444 | "maxLength" : 64, |
013dc89f DM |
39445 | "type" : "string", |
39446 | "typetext" : "<string>" | |
56122987 | 39447 | } |
44660702 | 39448 | } |
56122987 | 39449 | }, |
56122987 DM |
39450 | "permissions" : { |
39451 | "check" : [ | |
39452 | "userid-group", | |
39453 | [ | |
44660702 DM |
39454 | "User.Modify" |
39455 | ], | |
39456 | "groups_param", | |
39457 | 1 | |
56122987 DM |
39458 | ] |
39459 | }, | |
44660702 DM |
39460 | "protected" : 1, |
39461 | "returns" : { | |
39462 | "type" : "null" | |
39463 | } | |
56122987 DM |
39464 | } |
39465 | }, | |
bb4c8cf8 | 39466 | "leaf" : 0, |
44660702 | 39467 | "path" : "/access/users/{userid}", |
7aacca6f | 39468 | "text" : "{userid}" |
56122987 | 39469 | } |
7aacca6f | 39470 | ], |
56122987 | 39471 | "info" : { |
7aacca6f | 39472 | "GET" : { |
e9cd3bd4 | 39473 | "allowtoken" : 1, |
44660702 DM |
39474 | "description" : "User index.", |
39475 | "method" : "GET", | |
7aacca6f | 39476 | "name" : "index", |
56122987 | 39477 | "parameters" : { |
44660702 DM |
39478 | "additionalProperties" : 0, |
39479 | "properties" : { | |
39480 | "enabled" : { | |
39481 | "description" : "Optional filter for enable property.", | |
39482 | "optional" : 1, | |
013dc89f DM |
39483 | "type" : "boolean", |
39484 | "typetext" : "<boolean>" | |
e9cd3bd4 TL |
39485 | }, |
39486 | "full" : { | |
39487 | "default" : 0, | |
39488 | "description" : "Include group and token information.", | |
39489 | "optional" : 1, | |
39490 | "type" : "boolean", | |
39491 | "typetext" : "<boolean>" | |
44660702 DM |
39492 | } |
39493 | } | |
39494 | }, | |
39495 | "permissions" : { | |
39496 | "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.", | |
39497 | "user" : "all" | |
56122987 | 39498 | }, |
7aacca6f | 39499 | "returns" : { |
7aacca6f DM |
39500 | "items" : { |
39501 | "properties" : { | |
e2d681b3 TL |
39502 | "comment" : { |
39503 | "optional" : 1, | |
39504 | "type" : "string" | |
39505 | }, | |
39506 | "email" : { | |
39507 | "format" : "email-opt", | |
39508 | "optional" : 1, | |
39509 | "type" : "string" | |
39510 | }, | |
39511 | "enable" : { | |
39512 | "default" : 1, | |
39513 | "description" : "Enable the account (default). You can set this to '0' to disable the account", | |
39514 | "optional" : 1, | |
39515 | "type" : "boolean" | |
39516 | }, | |
39517 | "expire" : { | |
39518 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
39519 | "minimum" : 0, | |
39520 | "optional" : 1, | |
39521 | "type" : "integer" | |
39522 | }, | |
39523 | "firstname" : { | |
39524 | "optional" : 1, | |
39525 | "type" : "string" | |
39526 | }, | |
e9cd3bd4 TL |
39527 | "groups" : { |
39528 | "format" : "pve-groupid-list", | |
39529 | "optional" : 1, | |
39530 | "type" : "string" | |
39531 | }, | |
e2d681b3 TL |
39532 | "keys" : { |
39533 | "description" : "Keys for two factor auth (yubico).", | |
39534 | "optional" : 1, | |
39535 | "type" : "string" | |
39536 | }, | |
39537 | "lastname" : { | |
39538 | "optional" : 1, | |
39539 | "type" : "string" | |
39540 | }, | |
e9cd3bd4 TL |
39541 | "tokens" : { |
39542 | "items" : { | |
39543 | "properties" : { | |
39544 | "comment" : { | |
39545 | "optional" : 1, | |
39546 | "type" : "string" | |
39547 | }, | |
39548 | "expire" : { | |
39549 | "default" : "same as user", | |
39550 | "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.", | |
39551 | "minimum" : 0, | |
39552 | "optional" : 1, | |
39553 | "type" : "integer" | |
39554 | }, | |
39555 | "privsep" : { | |
39556 | "default" : 1, | |
39557 | "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.", | |
39558 | "optional" : 1, | |
39559 | "type" : "boolean" | |
39560 | }, | |
39561 | "tokenid" : { | |
39562 | "description" : "User-specific token identifier.", | |
39563 | "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)", | |
39564 | "type" : "string" | |
39565 | } | |
39566 | }, | |
39567 | "type" : "object" | |
39568 | }, | |
39569 | "optional" : 1, | |
39570 | "type" : "array" | |
39571 | }, | |
44660702 | 39572 | "userid" : { |
e2d681b3 TL |
39573 | "description" : "User ID", |
39574 | "format" : "pve-userid", | |
39575 | "maxLength" : 64, | |
7aacca6f DM |
39576 | "type" : "string" |
39577 | } | |
39578 | }, | |
39579 | "type" : "object" | |
39580 | }, | |
44660702 DM |
39581 | "links" : [ |
39582 | { | |
39583 | "href" : "{userid}", | |
39584 | "rel" : "child" | |
39585 | } | |
39586 | ], | |
7aacca6f DM |
39587 | "type" : "array" |
39588 | } | |
39589 | }, | |
39590 | "POST" : { | |
e9cd3bd4 | 39591 | "allowtoken" : 1, |
44660702 | 39592 | "description" : "Create new user.", |
7aacca6f | 39593 | "method" : "POST", |
44660702 | 39594 | "name" : "create_user", |
56122987 | 39595 | "parameters" : { |
7aacca6f DM |
39596 | "additionalProperties" : 0, |
39597 | "properties" : { | |
44660702 DM |
39598 | "comment" : { |
39599 | "optional" : 1, | |
013dc89f DM |
39600 | "type" : "string", |
39601 | "typetext" : "<string>" | |
7aacca6f | 39602 | }, |
44660702 DM |
39603 | "email" : { |
39604 | "format" : "email-opt", | |
39605 | "optional" : 1, | |
013dc89f DM |
39606 | "type" : "string", |
39607 | "typetext" : "<string>" | |
44660702 DM |
39608 | }, |
39609 | "enable" : { | |
39610 | "default" : 1, | |
e2d681b3 | 39611 | "description" : "Enable the account (default). You can set this to '0' to disable the account", |
44660702 | 39612 | "optional" : 1, |
013dc89f DM |
39613 | "type" : "boolean", |
39614 | "typetext" : "<boolean>" | |
44660702 DM |
39615 | }, |
39616 | "expire" : { | |
39617 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
39618 | "minimum" : 0, | |
39619 | "optional" : 1, | |
4bd7df8b | 39620 | "type" : "integer", |
013dc89f | 39621 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
39622 | }, |
39623 | "firstname" : { | |
39624 | "optional" : 1, | |
013dc89f DM |
39625 | "type" : "string", |
39626 | "typetext" : "<string>" | |
44660702 DM |
39627 | }, |
39628 | "groups" : { | |
39629 | "format" : "pve-groupid-list", | |
39630 | "optional" : 1, | |
013dc89f DM |
39631 | "type" : "string", |
39632 | "typetext" : "<string>" | |
44660702 DM |
39633 | }, |
39634 | "keys" : { | |
39635 | "description" : "Keys for two factor auth (yubico).", | |
39636 | "optional" : 1, | |
013dc89f DM |
39637 | "type" : "string", |
39638 | "typetext" : "<string>" | |
44660702 DM |
39639 | }, |
39640 | "lastname" : { | |
7aacca6f | 39641 | "optional" : 1, |
013dc89f DM |
39642 | "type" : "string", |
39643 | "typetext" : "<string>" | |
44660702 DM |
39644 | }, |
39645 | "password" : { | |
39646 | "description" : "Initial password.", | |
39647 | "maxLength" : 64, | |
39648 | "minLength" : 5, | |
39649 | "optional" : 1, | |
013dc89f DM |
39650 | "type" : "string", |
39651 | "typetext" : "<string>" | |
44660702 DM |
39652 | }, |
39653 | "userid" : { | |
39654 | "description" : "User ID", | |
39655 | "format" : "pve-userid", | |
39656 | "maxLength" : 64, | |
013dc89f DM |
39657 | "type" : "string", |
39658 | "typetext" : "<string>" | |
56122987 | 39659 | } |
7aacca6f | 39660 | } |
56122987 | 39661 | }, |
44660702 DM |
39662 | "permissions" : { |
39663 | "check" : [ | |
39664 | "and", | |
39665 | [ | |
39666 | "userid-param", | |
39667 | "Realm.AllocateUser" | |
39668 | ], | |
39669 | [ | |
39670 | "userid-group", | |
39671 | [ | |
39672 | "User.Modify" | |
39673 | ], | |
39674 | "groups_param", | |
39675 | 1 | |
39676 | ] | |
39677 | ], | |
39678 | "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." | |
39679 | }, | |
39680 | "protected" : 1, | |
39681 | "returns" : { | |
39682 | "type" : "null" | |
39683 | } | |
56122987 DM |
39684 | } |
39685 | }, | |
44660702 DM |
39686 | "leaf" : 0, |
39687 | "path" : "/access/users", | |
39688 | "text" : "users" | |
39689 | }, | |
39690 | { | |
56122987 DM |
39691 | "children" : [ |
39692 | { | |
56122987 DM |
39693 | "info" : { |
39694 | "DELETE" : { | |
e9cd3bd4 | 39695 | "allowtoken" : 1, |
44660702 DM |
39696 | "description" : "Delete group.", |
39697 | "method" : "DELETE", | |
39698 | "name" : "delete_group", | |
39699 | "parameters" : { | |
39700 | "additionalProperties" : 0, | |
39701 | "properties" : { | |
39702 | "groupid" : { | |
39703 | "format" : "pve-groupid", | |
013dc89f DM |
39704 | "type" : "string", |
39705 | "typetext" : "<string>" | |
44660702 DM |
39706 | } |
39707 | } | |
39708 | }, | |
7aacca6f DM |
39709 | "permissions" : { |
39710 | "check" : [ | |
39711 | "perm", | |
39712 | "/access/groups", | |
39713 | [ | |
39714 | "Group.Allocate" | |
39715 | ] | |
39716 | ] | |
39717 | }, | |
7aacca6f | 39718 | "protected" : 1, |
7aacca6f DM |
39719 | "returns" : { |
39720 | "type" : "null" | |
44660702 | 39721 | } |
7aacca6f | 39722 | }, |
44660702 | 39723 | "GET" : { |
e9cd3bd4 | 39724 | "allowtoken" : 1, |
44660702 DM |
39725 | "description" : "Get group configuration.", |
39726 | "method" : "GET", | |
39727 | "name" : "read_group", | |
39728 | "parameters" : { | |
39729 | "additionalProperties" : 0, | |
39730 | "properties" : { | |
39731 | "groupid" : { | |
39732 | "format" : "pve-groupid", | |
013dc89f DM |
39733 | "type" : "string", |
39734 | "typetext" : "<string>" | |
44660702 DM |
39735 | } |
39736 | } | |
56122987 | 39737 | }, |
7aacca6f DM |
39738 | "permissions" : { |
39739 | "check" : [ | |
39740 | "perm", | |
39741 | "/access/groups", | |
39742 | [ | |
44660702 | 39743 | "Sys.Audit", |
7aacca6f | 39744 | "Group.Allocate" |
44660702 DM |
39745 | ], |
39746 | "any", | |
39747 | 1 | |
7aacca6f DM |
39748 | ] |
39749 | }, | |
7aacca6f | 39750 | "returns" : { |
44660702 | 39751 | "additionalProperties" : 0, |
7aacca6f DM |
39752 | "properties" : { |
39753 | "comment" : { | |
44660702 DM |
39754 | "optional" : 1, |
39755 | "type" : "string" | |
7aacca6f DM |
39756 | }, |
39757 | "members" : { | |
39758 | "items" : { | |
e2d681b3 TL |
39759 | "description" : "User ID", |
39760 | "format" : "pve-userid", | |
39761 | "maxLength" : 64, | |
7aacca6f DM |
39762 | "type" : "string" |
39763 | }, | |
39764 | "type" : "array" | |
39765 | } | |
39766 | }, | |
44660702 DM |
39767 | "type" : "object" |
39768 | } | |
39769 | }, | |
39770 | "PUT" : { | |
e9cd3bd4 | 39771 | "allowtoken" : 1, |
44660702 DM |
39772 | "description" : "Update group data.", |
39773 | "method" : "PUT", | |
39774 | "name" : "update_group", | |
56122987 | 39775 | "parameters" : { |
44660702 | 39776 | "additionalProperties" : 0, |
56122987 | 39777 | "properties" : { |
44660702 DM |
39778 | "comment" : { |
39779 | "optional" : 1, | |
013dc89f DM |
39780 | "type" : "string", |
39781 | "typetext" : "<string>" | |
44660702 | 39782 | }, |
56122987 DM |
39783 | "groupid" : { |
39784 | "format" : "pve-groupid", | |
013dc89f DM |
39785 | "type" : "string", |
39786 | "typetext" : "<string>" | |
56122987 | 39787 | } |
44660702 | 39788 | } |
56122987 | 39789 | }, |
56122987 DM |
39790 | "permissions" : { |
39791 | "check" : [ | |
39792 | "perm", | |
39793 | "/access/groups", | |
39794 | [ | |
39795 | "Group.Allocate" | |
44660702 | 39796 | ] |
56122987 DM |
39797 | ] |
39798 | }, | |
44660702 DM |
39799 | "protected" : 1, |
39800 | "returns" : { | |
39801 | "type" : "null" | |
39802 | } | |
7aacca6f DM |
39803 | } |
39804 | }, | |
7aacca6f | 39805 | "leaf" : 1, |
44660702 DM |
39806 | "path" : "/access/groups/{groupid}", |
39807 | "text" : "{groupid}" | |
39808 | } | |
39809 | ], | |
39810 | "info" : { | |
39811 | "GET" : { | |
e9cd3bd4 | 39812 | "allowtoken" : 1, |
44660702 DM |
39813 | "description" : "Group index.", |
39814 | "method" : "GET", | |
39815 | "name" : "index", | |
39816 | "parameters" : { | |
39817 | "additionalProperties" : 0 | |
39818 | }, | |
39819 | "permissions" : { | |
39820 | "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.", | |
39821 | "user" : "all" | |
39822 | }, | |
39823 | "returns" : { | |
39824 | "items" : { | |
39825 | "properties" : { | |
e2d681b3 TL |
39826 | "comment" : { |
39827 | "optional" : 1, | |
39828 | "type" : "string" | |
39829 | }, | |
44660702 | 39830 | "groupid" : { |
e2d681b3 | 39831 | "format" : "pve-groupid", |
44660702 | 39832 | "type" : "string" |
e9cd3bd4 TL |
39833 | }, |
39834 | "users" : { | |
39835 | "description" : "list of users which form this group", | |
39836 | "format" : "pve-userid-list", | |
39837 | "optional" : 1, | |
39838 | "type" : "string" | |
44660702 DM |
39839 | } |
39840 | }, | |
39841 | "type" : "object" | |
39842 | }, | |
39843 | "links" : [ | |
39844 | { | |
39845 | "href" : "{groupid}", | |
39846 | "rel" : "child" | |
39847 | } | |
39848 | ], | |
39849 | "type" : "array" | |
39850 | } | |
39851 | }, | |
39852 | "POST" : { | |
e9cd3bd4 | 39853 | "allowtoken" : 1, |
44660702 DM |
39854 | "description" : "Create new group.", |
39855 | "method" : "POST", | |
39856 | "name" : "create_group", | |
39857 | "parameters" : { | |
39858 | "additionalProperties" : 0, | |
39859 | "properties" : { | |
39860 | "comment" : { | |
39861 | "optional" : 1, | |
013dc89f DM |
39862 | "type" : "string", |
39863 | "typetext" : "<string>" | |
44660702 DM |
39864 | }, |
39865 | "groupid" : { | |
39866 | "format" : "pve-groupid", | |
013dc89f DM |
39867 | "type" : "string", |
39868 | "typetext" : "<string>" | |
44660702 DM |
39869 | } |
39870 | } | |
39871 | }, | |
39872 | "permissions" : { | |
39873 | "check" : [ | |
39874 | "perm", | |
39875 | "/access/groups", | |
39876 | [ | |
39877 | "Group.Allocate" | |
39878 | ] | |
39879 | ] | |
39880 | }, | |
39881 | "protected" : 1, | |
39882 | "returns" : { | |
39883 | "type" : "null" | |
39884 | } | |
7aacca6f | 39885 | } |
44660702 | 39886 | }, |
7aacca6f | 39887 | "leaf" : 0, |
44660702 DM |
39888 | "path" : "/access/groups", |
39889 | "text" : "groups" | |
7aacca6f DM |
39890 | }, |
39891 | { | |
39892 | "children" : [ | |
39893 | { | |
7aacca6f | 39894 | "info" : { |
7aacca6f | 39895 | "DELETE" : { |
e9cd3bd4 | 39896 | "allowtoken" : 1, |
7aacca6f | 39897 | "description" : "Delete role.", |
44660702 | 39898 | "method" : "DELETE", |
7aacca6f | 39899 | "name" : "delete_role", |
56122987 DM |
39900 | "parameters" : { |
39901 | "additionalProperties" : 0, | |
39902 | "properties" : { | |
7aacca6f DM |
39903 | "roleid" : { |
39904 | "format" : "pve-roleid", | |
013dc89f DM |
39905 | "type" : "string", |
39906 | "typetext" : "<string>" | |
56122987 DM |
39907 | } |
39908 | } | |
39909 | }, | |
56122987 DM |
39910 | "permissions" : { |
39911 | "check" : [ | |
39912 | "perm", | |
7aacca6f | 39913 | "/access", |
56122987 | 39914 | [ |
7aacca6f DM |
39915 | "Sys.Modify" |
39916 | ] | |
56122987 | 39917 | ] |
44660702 DM |
39918 | }, |
39919 | "protected" : 1, | |
39920 | "returns" : { | |
39921 | "type" : "null" | |
56122987 DM |
39922 | } |
39923 | }, | |
44660702 | 39924 | "GET" : { |
e9cd3bd4 | 39925 | "allowtoken" : 1, |
44660702 DM |
39926 | "description" : "Get role configuration.", |
39927 | "method" : "GET", | |
39928 | "name" : "read_role", | |
39929 | "parameters" : { | |
39930 | "additionalProperties" : 0, | |
39931 | "properties" : { | |
39932 | "roleid" : { | |
39933 | "format" : "pve-roleid", | |
013dc89f DM |
39934 | "type" : "string", |
39935 | "typetext" : "<string>" | |
44660702 DM |
39936 | } |
39937 | } | |
39938 | }, | |
7aacca6f | 39939 | "permissions" : { |
44660702 | 39940 | "user" : "all" |
56122987 | 39941 | }, |
e2d681b3 TL |
39942 | "returns" : { |
39943 | "additionalProperties" : 0, | |
39944 | "properties" : { | |
39945 | "Datastore.Allocate" : { | |
39946 | "optional" : 1, | |
39947 | "type" : "boolean" | |
39948 | }, | |
39949 | "Datastore.AllocateSpace" : { | |
39950 | "optional" : 1, | |
39951 | "type" : "boolean" | |
39952 | }, | |
39953 | "Datastore.AllocateTemplate" : { | |
39954 | "optional" : 1, | |
39955 | "type" : "boolean" | |
39956 | }, | |
39957 | "Datastore.Audit" : { | |
39958 | "optional" : 1, | |
39959 | "type" : "boolean" | |
39960 | }, | |
39961 | "Group.Allocate" : { | |
39962 | "optional" : 1, | |
39963 | "type" : "boolean" | |
39964 | }, | |
39965 | "Permissions.Modify" : { | |
39966 | "optional" : 1, | |
39967 | "type" : "boolean" | |
39968 | }, | |
39969 | "Pool.Allocate" : { | |
39970 | "optional" : 1, | |
39971 | "type" : "boolean" | |
39972 | }, | |
39973 | "Realm.Allocate" : { | |
39974 | "optional" : 1, | |
39975 | "type" : "boolean" | |
39976 | }, | |
39977 | "Realm.AllocateUser" : { | |
39978 | "optional" : 1, | |
39979 | "type" : "boolean" | |
39980 | }, | |
5c1699e5 TL |
39981 | "SDN.Allocate" : { |
39982 | "optional" : 1, | |
39983 | "type" : "boolean" | |
39984 | }, | |
39985 | "SDN.Audit" : { | |
39986 | "optional" : 1, | |
39987 | "type" : "boolean" | |
39988 | }, | |
e2d681b3 TL |
39989 | "Sys.Audit" : { |
39990 | "optional" : 1, | |
39991 | "type" : "boolean" | |
39992 | }, | |
39993 | "Sys.Console" : { | |
39994 | "optional" : 1, | |
39995 | "type" : "boolean" | |
39996 | }, | |
39997 | "Sys.Modify" : { | |
39998 | "optional" : 1, | |
39999 | "type" : "boolean" | |
40000 | }, | |
40001 | "Sys.PowerMgmt" : { | |
40002 | "optional" : 1, | |
40003 | "type" : "boolean" | |
40004 | }, | |
40005 | "Sys.Syslog" : { | |
40006 | "optional" : 1, | |
40007 | "type" : "boolean" | |
40008 | }, | |
40009 | "User.Modify" : { | |
40010 | "optional" : 1, | |
40011 | "type" : "boolean" | |
40012 | }, | |
40013 | "VM.Allocate" : { | |
40014 | "optional" : 1, | |
40015 | "type" : "boolean" | |
40016 | }, | |
40017 | "VM.Audit" : { | |
40018 | "optional" : 1, | |
40019 | "type" : "boolean" | |
40020 | }, | |
40021 | "VM.Backup" : { | |
40022 | "optional" : 1, | |
40023 | "type" : "boolean" | |
40024 | }, | |
40025 | "VM.Clone" : { | |
40026 | "optional" : 1, | |
40027 | "type" : "boolean" | |
40028 | }, | |
40029 | "VM.Config.CDROM" : { | |
40030 | "optional" : 1, | |
40031 | "type" : "boolean" | |
40032 | }, | |
40033 | "VM.Config.CPU" : { | |
40034 | "optional" : 1, | |
40035 | "type" : "boolean" | |
40036 | }, | |
40037 | "VM.Config.Disk" : { | |
40038 | "optional" : 1, | |
40039 | "type" : "boolean" | |
40040 | }, | |
40041 | "VM.Config.HWType" : { | |
40042 | "optional" : 1, | |
40043 | "type" : "boolean" | |
40044 | }, | |
40045 | "VM.Config.Memory" : { | |
40046 | "optional" : 1, | |
40047 | "type" : "boolean" | |
40048 | }, | |
40049 | "VM.Config.Network" : { | |
40050 | "optional" : 1, | |
40051 | "type" : "boolean" | |
40052 | }, | |
40053 | "VM.Config.Options" : { | |
40054 | "optional" : 1, | |
40055 | "type" : "boolean" | |
40056 | }, | |
40057 | "VM.Console" : { | |
40058 | "optional" : 1, | |
40059 | "type" : "boolean" | |
40060 | }, | |
40061 | "VM.Migrate" : { | |
40062 | "optional" : 1, | |
40063 | "type" : "boolean" | |
40064 | }, | |
40065 | "VM.Monitor" : { | |
40066 | "optional" : 1, | |
40067 | "type" : "boolean" | |
40068 | }, | |
40069 | "VM.PowerMgmt" : { | |
40070 | "optional" : 1, | |
40071 | "type" : "boolean" | |
40072 | }, | |
40073 | "VM.Snapshot" : { | |
40074 | "optional" : 1, | |
40075 | "type" : "boolean" | |
40076 | }, | |
40077 | "VM.Snapshot.Rollback" : { | |
40078 | "optional" : 1, | |
40079 | "type" : "boolean" | |
40080 | } | |
40081 | }, | |
40082 | "type" : "object" | |
40083 | } | |
44660702 DM |
40084 | }, |
40085 | "PUT" : { | |
e9cd3bd4 | 40086 | "allowtoken" : 1, |
e2d681b3 | 40087 | "description" : "Update an existing role.", |
44660702 DM |
40088 | "method" : "PUT", |
40089 | "name" : "update_role", | |
56122987 DM |
40090 | "parameters" : { |
40091 | "additionalProperties" : 0, | |
40092 | "properties" : { | |
7aacca6f | 40093 | "append" : { |
44660702 | 40094 | "optional" : 1, |
7aacca6f | 40095 | "requires" : "privs", |
013dc89f DM |
40096 | "type" : "boolean", |
40097 | "typetext" : "<boolean>" | |
7aacca6f DM |
40098 | }, |
40099 | "privs" : { | |
40100 | "format" : "pve-priv-list", | |
e2d681b3 | 40101 | "optional" : 1, |
013dc89f DM |
40102 | "type" : "string", |
40103 | "typetext" : "<string>" | |
44660702 DM |
40104 | }, |
40105 | "roleid" : { | |
40106 | "format" : "pve-roleid", | |
013dc89f DM |
40107 | "type" : "string", |
40108 | "typetext" : "<string>" | |
56122987 DM |
40109 | } |
40110 | } | |
40111 | }, | |
44660702 DM |
40112 | "permissions" : { |
40113 | "check" : [ | |
40114 | "perm", | |
40115 | "/access", | |
40116 | [ | |
40117 | "Sys.Modify" | |
40118 | ] | |
40119 | ] | |
40120 | }, | |
56122987 | 40121 | "protected" : 1, |
7aacca6f DM |
40122 | "returns" : { |
40123 | "type" : "null" | |
56122987 DM |
40124 | } |
40125 | } | |
40126 | }, | |
44660702 | 40127 | "leaf" : 1, |
7aacca6f | 40128 | "path" : "/access/roles/{roleid}", |
44660702 | 40129 | "text" : "{roleid}" |
56122987 DM |
40130 | } |
40131 | ], | |
56122987 | 40132 | "info" : { |
7aacca6f | 40133 | "GET" : { |
e9cd3bd4 | 40134 | "allowtoken" : 1, |
7aacca6f | 40135 | "description" : "Role index.", |
44660702 | 40136 | "method" : "GET", |
7aacca6f | 40137 | "name" : "index", |
56122987 | 40138 | "parameters" : { |
56122987 DM |
40139 | "additionalProperties" : 0 |
40140 | }, | |
7aacca6f DM |
40141 | "permissions" : { |
40142 | "user" : "all" | |
40143 | }, | |
56122987 | 40144 | "returns" : { |
7aacca6f | 40145 | "items" : { |
7aacca6f | 40146 | "properties" : { |
e2d681b3 TL |
40147 | "privs" : { |
40148 | "format" : "pve-priv-list", | |
40149 | "optional" : 1, | |
40150 | "type" : "string" | |
40151 | }, | |
7aacca6f | 40152 | "roleid" : { |
e2d681b3 | 40153 | "format" : "pve-roleid", |
7aacca6f | 40154 | "type" : "string" |
e2d681b3 TL |
40155 | }, |
40156 | "special" : { | |
40157 | "default" : 0, | |
40158 | "optional" : 1, | |
40159 | "type" : "boolean" | |
7aacca6f | 40160 | } |
44660702 DM |
40161 | }, |
40162 | "type" : "object" | |
40163 | }, | |
40164 | "links" : [ | |
40165 | { | |
40166 | "href" : "{roleid}", | |
40167 | "rel" : "child" | |
7aacca6f | 40168 | } |
44660702 DM |
40169 | ], |
40170 | "type" : "array" | |
40171 | } | |
7aacca6f DM |
40172 | }, |
40173 | "POST" : { | |
e9cd3bd4 | 40174 | "allowtoken" : 1, |
7aacca6f | 40175 | "description" : "Create new role.", |
44660702 DM |
40176 | "method" : "POST", |
40177 | "name" : "create_role", | |
7aacca6f DM |
40178 | "parameters" : { |
40179 | "additionalProperties" : 0, | |
40180 | "properties" : { | |
7aacca6f DM |
40181 | "privs" : { |
40182 | "format" : "pve-priv-list", | |
40183 | "optional" : 1, | |
013dc89f DM |
40184 | "type" : "string", |
40185 | "typetext" : "<string>" | |
44660702 DM |
40186 | }, |
40187 | "roleid" : { | |
40188 | "format" : "pve-roleid", | |
013dc89f DM |
40189 | "type" : "string", |
40190 | "typetext" : "<string>" | |
7aacca6f DM |
40191 | } |
40192 | } | |
40193 | }, | |
44660702 DM |
40194 | "permissions" : { |
40195 | "check" : [ | |
40196 | "perm", | |
40197 | "/access", | |
40198 | [ | |
40199 | "Sys.Modify" | |
40200 | ] | |
40201 | ] | |
40202 | }, | |
40203 | "protected" : 1, | |
7aacca6f DM |
40204 | "returns" : { |
40205 | "type" : "null" | |
40206 | } | |
40207 | } | |
40208 | }, | |
44660702 | 40209 | "leaf" : 0, |
7aacca6f | 40210 | "path" : "/access/roles", |
44660702 | 40211 | "text" : "roles" |
7aacca6f DM |
40212 | }, |
40213 | { | |
40214 | "info" : { | |
56122987 | 40215 | "GET" : { |
e9cd3bd4 | 40216 | "allowtoken" : 1, |
44660702 DM |
40217 | "description" : "Get Access Control List (ACLs).", |
40218 | "method" : "GET", | |
40219 | "name" : "read_acl", | |
7aacca6f DM |
40220 | "parameters" : { |
40221 | "additionalProperties" : 0 | |
40222 | }, | |
44660702 DM |
40223 | "permissions" : { |
40224 | "description" : "The returned list is restricted to objects where you have rights to modify permissions.", | |
40225 | "user" : "all" | |
40226 | }, | |
56122987 | 40227 | "returns" : { |
56122987 | 40228 | "items" : { |
44660702 | 40229 | "additionalProperties" : 0, |
56122987 | 40230 | "properties" : { |
7aacca6f | 40231 | "path" : { |
e2d681b3 | 40232 | "description" : "Access control path", |
7aacca6f DM |
40233 | "type" : "string" |
40234 | }, | |
44660702 | 40235 | "propagate" : { |
e2d681b3 TL |
40236 | "default" : 1, |
40237 | "description" : "Allow to propagate (inherit) permissions.", | |
40238 | "optional" : 1, | |
44660702 DM |
40239 | "type" : "boolean" |
40240 | }, | |
40241 | "roleid" : { | |
40242 | "type" : "string" | |
40243 | }, | |
7aacca6f DM |
40244 | "type" : { |
40245 | "enum" : [ | |
40246 | "user", | |
e9cd3bd4 TL |
40247 | "group", |
40248 | "token" | |
7aacca6f DM |
40249 | ], |
40250 | "type" : "string" | |
40251 | }, | |
7aacca6f DM |
40252 | "ugid" : { |
40253 | "type" : "string" | |
56122987 | 40254 | } |
7aacca6f | 40255 | }, |
44660702 | 40256 | "type" : "object" |
7aacca6f DM |
40257 | }, |
40258 | "type" : "array" | |
44660702 | 40259 | } |
7aacca6f DM |
40260 | }, |
40261 | "PUT" : { | |
e9cd3bd4 | 40262 | "allowtoken" : 1, |
44660702 DM |
40263 | "description" : "Update Access Control List (add or remove permissions).", |
40264 | "method" : "PUT", | |
7aacca6f DM |
40265 | "name" : "update_acl", |
40266 | "parameters" : { | |
40267 | "additionalProperties" : 0, | |
40268 | "properties" : { | |
40269 | "delete" : { | |
44660702 | 40270 | "description" : "Remove permissions (instead of adding it).", |
7aacca6f | 40271 | "optional" : 1, |
013dc89f DM |
40272 | "type" : "boolean", |
40273 | "typetext" : "<boolean>" | |
7aacca6f | 40274 | }, |
44660702 DM |
40275 | "groups" : { |
40276 | "description" : "List of groups.", | |
40277 | "format" : "pve-groupid-list", | |
7aacca6f | 40278 | "optional" : 1, |
013dc89f DM |
40279 | "type" : "string", |
40280 | "typetext" : "<string>" | |
7aacca6f DM |
40281 | }, |
40282 | "path" : { | |
40283 | "description" : "Access control path", | |
013dc89f DM |
40284 | "type" : "string", |
40285 | "typetext" : "<string>" | |
7aacca6f | 40286 | }, |
7aacca6f | 40287 | "propagate" : { |
44660702 | 40288 | "default" : 1, |
7aacca6f | 40289 | "description" : "Allow to propagate (inherit) permissions.", |
7aacca6f | 40290 | "optional" : 1, |
013dc89f DM |
40291 | "type" : "boolean", |
40292 | "typetext" : "<boolean>" | |
7aacca6f | 40293 | }, |
44660702 DM |
40294 | "roles" : { |
40295 | "description" : "List of roles.", | |
40296 | "format" : "pve-roleid-list", | |
013dc89f DM |
40297 | "type" : "string", |
40298 | "typetext" : "<string>" | |
44660702 | 40299 | }, |
e9cd3bd4 TL |
40300 | "tokens" : { |
40301 | "description" : "List of API tokens.", | |
40302 | "format" : "pve-tokenid-list", | |
40303 | "optional" : 1, | |
40304 | "type" : "string", | |
40305 | "typetext" : "<string>" | |
40306 | }, | |
44660702 DM |
40307 | "users" : { |
40308 | "description" : "List of users.", | |
40309 | "format" : "pve-userid-list", | |
7aacca6f | 40310 | "optional" : 1, |
013dc89f DM |
40311 | "type" : "string", |
40312 | "typetext" : "<string>" | |
56122987 DM |
40313 | } |
40314 | } | |
40315 | }, | |
56122987 | 40316 | "permissions" : { |
7aacca6f DM |
40317 | "check" : [ |
40318 | "perm-modify", | |
40319 | "{path}" | |
40320 | ] | |
40321 | }, | |
7aacca6f DM |
40322 | "protected" : 1, |
40323 | "returns" : { | |
40324 | "type" : "null" | |
44660702 | 40325 | } |
56122987 DM |
40326 | } |
40327 | }, | |
7aacca6f | 40328 | "leaf" : 1, |
44660702 DM |
40329 | "path" : "/access/acl", |
40330 | "text" : "acl" | |
7aacca6f DM |
40331 | }, |
40332 | { | |
56122987 DM |
40333 | "children" : [ |
40334 | { | |
c5aa7e14 TL |
40335 | "children" : [ |
40336 | { | |
40337 | "info" : { | |
40338 | "POST" : { | |
40339 | "allowtoken" : 1, | |
40340 | "description" : "Syncs users and/or groups from the configured LDAP to user.cfg. NOTE: Synced groups will have the name 'name-$realm', so make sure those groups do not exist to prevent overwriting.", | |
40341 | "method" : "POST", | |
40342 | "name" : "sync", | |
40343 | "parameters" : { | |
40344 | "additionalProperties" : 0, | |
40345 | "properties" : { | |
40346 | "dry-run" : { | |
40347 | "default" : 0, | |
40348 | "description" : "If set, does not write anything.", | |
40349 | "optional" : 1, | |
40350 | "type" : "boolean", | |
40351 | "typetext" : "<boolean>" | |
40352 | }, | |
40353 | "enable-new" : { | |
40354 | "default" : "1", | |
40355 | "description" : "Enable newly synced users immediately.", | |
40356 | "optional" : "1", | |
40357 | "type" : "boolean", | |
40358 | "typetext" : "<boolean>" | |
40359 | }, | |
40360 | "full" : { | |
40361 | "description" : "If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync. Otherwise only syncs information which is not already present, and does not deletes or modifies anything else.", | |
40362 | "optional" : "1", | |
40363 | "type" : "boolean", | |
40364 | "typetext" : "<boolean>" | |
40365 | }, | |
40366 | "purge" : { | |
40367 | "description" : "Remove ACLs for users or groups which were removed from the config during a sync.", | |
40368 | "optional" : "1", | |
40369 | "type" : "boolean", | |
40370 | "typetext" : "<boolean>" | |
40371 | }, | |
40372 | "realm" : { | |
40373 | "description" : "Authentication domain ID", | |
40374 | "format" : "pve-realm", | |
40375 | "maxLength" : 32, | |
40376 | "type" : "string", | |
40377 | "typetext" : "<string>" | |
40378 | }, | |
40379 | "scope" : { | |
40380 | "description" : "Select what to sync.", | |
40381 | "enum" : [ | |
40382 | "users", | |
40383 | "groups", | |
40384 | "both" | |
40385 | ], | |
40386 | "optional" : "1", | |
40387 | "type" : "string" | |
40388 | } | |
40389 | } | |
40390 | }, | |
40391 | "permissions" : { | |
40392 | "check" : [ | |
40393 | "and", | |
40394 | [ | |
40395 | "userid-param", | |
40396 | "Realm.AllocateUser" | |
40397 | ], | |
40398 | [ | |
40399 | "userid-group", | |
40400 | [ | |
40401 | "User.Modify" | |
40402 | ] | |
40403 | ] | |
40404 | ], | |
40405 | "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'." | |
40406 | }, | |
40407 | "protected" : 1, | |
40408 | "returns" : { | |
40409 | "description" : "Worker Task-UPID", | |
40410 | "type" : "string" | |
40411 | } | |
40412 | } | |
40413 | }, | |
40414 | "leaf" : 1, | |
40415 | "path" : "/access/domains/{realm}/sync", | |
40416 | "text" : "sync" | |
40417 | } | |
40418 | ], | |
56122987 | 40419 | "info" : { |
44660702 | 40420 | "DELETE" : { |
e9cd3bd4 | 40421 | "allowtoken" : 1, |
44660702 DM |
40422 | "description" : "Delete an authentication server.", |
40423 | "method" : "DELETE", | |
40424 | "name" : "delete", | |
40425 | "parameters" : { | |
40426 | "additionalProperties" : 0, | |
40427 | "properties" : { | |
40428 | "realm" : { | |
40429 | "description" : "Authentication domain ID", | |
40430 | "format" : "pve-realm", | |
40431 | "maxLength" : 32, | |
013dc89f DM |
40432 | "type" : "string", |
40433 | "typetext" : "<string>" | |
56122987 | 40434 | } |
44660702 | 40435 | } |
56122987 | 40436 | }, |
56122987 DM |
40437 | "permissions" : { |
40438 | "check" : [ | |
40439 | "perm", | |
7aacca6f | 40440 | "/access/realm", |
56122987 | 40441 | [ |
7aacca6f | 40442 | "Realm.Allocate" |
56122987 DM |
40443 | ] |
40444 | ] | |
40445 | }, | |
7aacca6f | 40446 | "protected" : 1, |
7aacca6f DM |
40447 | "returns" : { |
40448 | "type" : "null" | |
44660702 | 40449 | } |
7aacca6f | 40450 | }, |
44660702 | 40451 | "GET" : { |
e9cd3bd4 | 40452 | "allowtoken" : 1, |
44660702 DM |
40453 | "description" : "Get auth server configuration.", |
40454 | "method" : "GET", | |
40455 | "name" : "read", | |
56122987 | 40456 | "parameters" : { |
44660702 | 40457 | "additionalProperties" : 0, |
56122987 | 40458 | "properties" : { |
7aacca6f | 40459 | "realm" : { |
44660702 | 40460 | "description" : "Authentication domain ID", |
7aacca6f DM |
40461 | "format" : "pve-realm", |
40462 | "maxLength" : 32, | |
013dc89f DM |
40463 | "type" : "string", |
40464 | "typetext" : "<string>" | |
56122987 | 40465 | } |
44660702 | 40466 | } |
7aacca6f | 40467 | }, |
7aacca6f DM |
40468 | "permissions" : { |
40469 | "check" : [ | |
40470 | "perm", | |
40471 | "/access/realm", | |
40472 | [ | |
44660702 DM |
40473 | "Realm.Allocate", |
40474 | "Sys.Audit" | |
40475 | ], | |
40476 | "any", | |
40477 | 1 | |
7aacca6f | 40478 | ] |
44660702 DM |
40479 | }, |
40480 | "returns" : {} | |
7aacca6f | 40481 | }, |
44660702 | 40482 | "PUT" : { |
e9cd3bd4 | 40483 | "allowtoken" : 1, |
44660702 DM |
40484 | "description" : "Update authentication server settings.", |
40485 | "method" : "PUT", | |
40486 | "name" : "update", | |
7aacca6f | 40487 | "parameters" : { |
44660702 | 40488 | "additionalProperties" : 0, |
7aacca6f | 40489 | "properties" : { |
44660702 DM |
40490 | "base_dn" : { |
40491 | "description" : "LDAP base domain name", | |
40492 | "maxLength" : 256, | |
40493 | "optional" : 1, | |
40494 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40495 | "type" : "string" | |
40496 | }, | |
4bd7df8b DM |
40497 | "bind_dn" : { |
40498 | "description" : "LDAP bind domain name", | |
40499 | "maxLength" : 256, | |
40500 | "optional" : 1, | |
40501 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40502 | "type" : "string" | |
40503 | }, | |
2489d6df WB |
40504 | "capath" : { |
40505 | "default" : "/etc/ssl/certs", | |
40506 | "description" : "Path to the CA certificate store", | |
40507 | "optional" : 1, | |
40508 | "type" : "string", | |
40509 | "typetext" : "<string>" | |
40510 | }, | |
40511 | "cert" : { | |
40512 | "description" : "Path to the client certificate", | |
40513 | "optional" : 1, | |
40514 | "type" : "string", | |
40515 | "typetext" : "<string>" | |
40516 | }, | |
40517 | "certkey" : { | |
40518 | "description" : "Path to the client certificate key", | |
40519 | "optional" : 1, | |
40520 | "type" : "string", | |
40521 | "typetext" : "<string>" | |
40522 | }, | |
44660702 DM |
40523 | "comment" : { |
40524 | "description" : "Description.", | |
40525 | "maxLength" : 4096, | |
40526 | "optional" : 1, | |
013dc89f DM |
40527 | "type" : "string", |
40528 | "typetext" : "<string>" | |
44660702 DM |
40529 | }, |
40530 | "default" : { | |
40531 | "description" : "Use this as default realm", | |
40532 | "optional" : 1, | |
013dc89f DM |
40533 | "type" : "boolean", |
40534 | "typetext" : "<boolean>" | |
44660702 DM |
40535 | }, |
40536 | "delete" : { | |
40537 | "description" : "A list of settings you want to delete.", | |
40538 | "format" : "pve-configid-list", | |
40539 | "maxLength" : 4096, | |
40540 | "optional" : 1, | |
013dc89f DM |
40541 | "type" : "string", |
40542 | "typetext" : "<string>" | |
44660702 DM |
40543 | }, |
40544 | "digest" : { | |
40545 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
40546 | "maxLength" : 40, | |
40547 | "optional" : 1, | |
013dc89f DM |
40548 | "type" : "string", |
40549 | "typetext" : "<string>" | |
44660702 DM |
40550 | }, |
40551 | "domain" : { | |
40552 | "description" : "AD domain name", | |
40553 | "maxLength" : 256, | |
40554 | "optional" : 1, | |
40555 | "pattern" : "\\S+", | |
40556 | "type" : "string" | |
40557 | }, | |
c5aa7e14 TL |
40558 | "filter" : { |
40559 | "description" : "LDAP filter for user sync.", | |
40560 | "maxLength" : 2048, | |
40561 | "optional" : 1, | |
40562 | "type" : "string", | |
40563 | "typetext" : "<string>" | |
40564 | }, | |
40565 | "group_classes" : { | |
40566 | "default" : "groupOfNames, group, univentionGroup, ipausergroup", | |
40567 | "description" : "The objectclasses for groups.", | |
40568 | "format" : "ldap-simple-attr-list", | |
40569 | "optional" : 1, | |
40570 | "type" : "string", | |
40571 | "typetext" : "<string>" | |
40572 | }, | |
40573 | "group_dn" : { | |
40574 | "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.", | |
40575 | "maxLength" : 256, | |
40576 | "optional" : 1, | |
40577 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40578 | "type" : "string" | |
40579 | }, | |
40580 | "group_filter" : { | |
40581 | "description" : "LDAP filter for group sync.", | |
40582 | "maxLength" : 2048, | |
40583 | "optional" : 1, | |
40584 | "type" : "string", | |
40585 | "typetext" : "<string>" | |
40586 | }, | |
40587 | "group_name_attr" : { | |
40588 | "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.", | |
40589 | "format" : "ldap-simple-attr", | |
40590 | "maxLength" : 256, | |
40591 | "optional" : 1, | |
40592 | "type" : "string", | |
40593 | "typetext" : "<string>" | |
40594 | }, | |
40595 | "mode" : { | |
40596 | "default" : "ldap", | |
40597 | "description" : "LDAP protocol mode.", | |
40598 | "enum" : [ | |
40599 | "ldap", | |
40600 | "ldaps", | |
40601 | "ldap+starttls" | |
40602 | ], | |
40603 | "optional" : 1, | |
40604 | "type" : "string" | |
40605 | }, | |
40606 | "password" : { | |
40607 | "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.", | |
40608 | "optional" : 1, | |
40609 | "type" : "string", | |
40610 | "typetext" : "<string>" | |
40611 | }, | |
44660702 DM |
40612 | "port" : { |
40613 | "description" : "Server port.", | |
40614 | "maximum" : 65535, | |
40615 | "minimum" : 1, | |
40616 | "optional" : 1, | |
4bd7df8b | 40617 | "type" : "integer", |
013dc89f | 40618 | "typetext" : "<integer> (1 - 65535)" |
44660702 | 40619 | }, |
7aacca6f | 40620 | "realm" : { |
7aacca6f DM |
40621 | "description" : "Authentication domain ID", |
40622 | "format" : "pve-realm", | |
44660702 | 40623 | "maxLength" : 32, |
013dc89f DM |
40624 | "type" : "string", |
40625 | "typetext" : "<string>" | |
44660702 DM |
40626 | }, |
40627 | "secure" : { | |
c5aa7e14 | 40628 | "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.", |
44660702 | 40629 | "optional" : 1, |
013dc89f DM |
40630 | "type" : "boolean", |
40631 | "typetext" : "<boolean>" | |
44660702 DM |
40632 | }, |
40633 | "server1" : { | |
40634 | "description" : "Server IP address (or DNS name)", | |
40635 | "format" : "address", | |
40636 | "maxLength" : 256, | |
40637 | "optional" : 1, | |
013dc89f DM |
40638 | "type" : "string", |
40639 | "typetext" : "<string>" | |
44660702 DM |
40640 | }, |
40641 | "server2" : { | |
40642 | "description" : "Fallback Server IP address (or DNS name)", | |
40643 | "format" : "address", | |
40644 | "maxLength" : 256, | |
40645 | "optional" : 1, | |
013dc89f DM |
40646 | "type" : "string", |
40647 | "typetext" : "<string>" | |
44660702 | 40648 | }, |
1c532546 TL |
40649 | "sslversion" : { |
40650 | "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!", | |
40651 | "enum" : [ | |
40652 | "tlsv1", | |
40653 | "tlsv1_1", | |
40654 | "tlsv1_2", | |
40655 | "tlsv1_3" | |
40656 | ], | |
40657 | "optional" : 1, | |
40658 | "type" : "string" | |
40659 | }, | |
c5aa7e14 TL |
40660 | "sync-defaults-options" : { |
40661 | "description" : "The default options for behavior of synchronizations.", | |
40662 | "format" : "realm-sync-options", | |
40663 | "optional" : 1, | |
40664 | "type" : "string", | |
40665 | "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]" | |
40666 | }, | |
40667 | "sync_attributes" : { | |
40668 | "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.", | |
40669 | "optional" : 1, | |
40670 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40671 | "type" : "string" | |
40672 | }, | |
44660702 DM |
40673 | "tfa" : { |
40674 | "description" : "Use Two-factor authentication.", | |
40675 | "format" : "pve-tfa-config", | |
40676 | "maxLength" : 128, | |
40677 | "optional" : 1, | |
013dc89f | 40678 | "type" : "string", |
95895385 | 40679 | "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]" |
44660702 DM |
40680 | }, |
40681 | "user_attr" : { | |
40682 | "description" : "LDAP user attribute name", | |
40683 | "maxLength" : 256, | |
40684 | "optional" : 1, | |
40685 | "pattern" : "\\S{2,}", | |
40686 | "type" : "string" | |
2489d6df | 40687 | }, |
c5aa7e14 TL |
40688 | "user_classes" : { |
40689 | "default" : "inetorgperson, posixaccount, person, user", | |
40690 | "description" : "The objectclasses for users.", | |
40691 | "format" : "ldap-simple-attr-list", | |
40692 | "optional" : 1, | |
40693 | "type" : "string", | |
40694 | "typetext" : "<string>" | |
40695 | }, | |
2489d6df WB |
40696 | "verify" : { |
40697 | "default" : 0, | |
40698 | "description" : "Verify the server's SSL certificate", | |
40699 | "optional" : 1, | |
40700 | "type" : "boolean", | |
40701 | "typetext" : "<boolean>" | |
7aacca6f | 40702 | } |
56122987 | 40703 | }, |
44660702 | 40704 | "type" : "object" |
56122987 | 40705 | }, |
7aacca6f DM |
40706 | "permissions" : { |
40707 | "check" : [ | |
40708 | "perm", | |
40709 | "/access/realm", | |
40710 | [ | |
44660702 DM |
40711 | "Realm.Allocate" |
40712 | ] | |
7aacca6f DM |
40713 | ] |
40714 | }, | |
44660702 DM |
40715 | "protected" : 1, |
40716 | "returns" : { | |
40717 | "type" : "null" | |
40718 | } | |
56122987 | 40719 | } |
44660702 | 40720 | }, |
c5aa7e14 | 40721 | "leaf" : 0, |
44660702 DM |
40722 | "path" : "/access/domains/{realm}", |
40723 | "text" : "{realm}" | |
56122987 | 40724 | } |
7aacca6f | 40725 | ], |
56122987 DM |
40726 | "info" : { |
40727 | "GET" : { | |
e9cd3bd4 | 40728 | "allowtoken" : 1, |
44660702 DM |
40729 | "description" : "Authentication domain index.", |
40730 | "method" : "GET", | |
40731 | "name" : "index", | |
40732 | "parameters" : { | |
40733 | "additionalProperties" : 0 | |
40734 | }, | |
40735 | "permissions" : { | |
40736 | "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).", | |
40737 | "user" : "world" | |
40738 | }, | |
56122987 | 40739 | "returns" : { |
56122987 DM |
40740 | "items" : { |
40741 | "properties" : { | |
7aacca6f | 40742 | "comment" : { |
52e44c50 | 40743 | "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.", |
7aacca6f DM |
40744 | "optional" : 1, |
40745 | "type" : "string" | |
40746 | }, | |
56122987 DM |
40747 | "realm" : { |
40748 | "type" : "string" | |
40749 | }, | |
40750 | "tfa" : { | |
7aacca6f | 40751 | "description" : "Two-factor authentication provider.", |
56122987 DM |
40752 | "enum" : [ |
40753 | "yubico", | |
40754 | "oath" | |
40755 | ], | |
44660702 DM |
40756 | "optional" : 1, |
40757 | "type" : "string" | |
c5aa7e14 TL |
40758 | }, |
40759 | "type" : { | |
40760 | "type" : "string" | |
56122987 DM |
40761 | } |
40762 | }, | |
40763 | "type" : "object" | |
44660702 DM |
40764 | }, |
40765 | "links" : [ | |
40766 | { | |
40767 | "href" : "{realm}", | |
40768 | "rel" : "child" | |
40769 | } | |
40770 | ], | |
40771 | "type" : "array" | |
40772 | } | |
56122987 DM |
40773 | }, |
40774 | "POST" : { | |
e9cd3bd4 | 40775 | "allowtoken" : 1, |
7aacca6f | 40776 | "description" : "Add an authentication server.", |
44660702 | 40777 | "method" : "POST", |
7aacca6f | 40778 | "name" : "create", |
56122987 | 40779 | "parameters" : { |
44660702 | 40780 | "additionalProperties" : 0, |
56122987 | 40781 | "properties" : { |
44660702 DM |
40782 | "base_dn" : { |
40783 | "description" : "LDAP base domain name", | |
56122987 | 40784 | "maxLength" : 256, |
44660702 DM |
40785 | "optional" : 1, |
40786 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
7aacca6f | 40787 | "type" : "string" |
56122987 | 40788 | }, |
4bd7df8b DM |
40789 | "bind_dn" : { |
40790 | "description" : "LDAP bind domain name", | |
40791 | "maxLength" : 256, | |
40792 | "optional" : 1, | |
40793 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40794 | "type" : "string" | |
40795 | }, | |
2489d6df WB |
40796 | "capath" : { |
40797 | "default" : "/etc/ssl/certs", | |
40798 | "description" : "Path to the CA certificate store", | |
40799 | "optional" : 1, | |
40800 | "type" : "string", | |
40801 | "typetext" : "<string>" | |
40802 | }, | |
40803 | "cert" : { | |
40804 | "description" : "Path to the client certificate", | |
40805 | "optional" : 1, | |
40806 | "type" : "string", | |
40807 | "typetext" : "<string>" | |
40808 | }, | |
40809 | "certkey" : { | |
40810 | "description" : "Path to the client certificate key", | |
40811 | "optional" : 1, | |
40812 | "type" : "string", | |
40813 | "typetext" : "<string>" | |
40814 | }, | |
44660702 DM |
40815 | "comment" : { |
40816 | "description" : "Description.", | |
40817 | "maxLength" : 4096, | |
56122987 | 40818 | "optional" : 1, |
013dc89f DM |
40819 | "type" : "string", |
40820 | "typetext" : "<string>" | |
56122987 | 40821 | }, |
44660702 DM |
40822 | "default" : { |
40823 | "description" : "Use this as default realm", | |
7aacca6f | 40824 | "optional" : 1, |
013dc89f DM |
40825 | "type" : "boolean", |
40826 | "typetext" : "<boolean>" | |
56122987 | 40827 | }, |
44660702 DM |
40828 | "domain" : { |
40829 | "description" : "AD domain name", | |
40830 | "maxLength" : 256, | |
7aacca6f | 40831 | "optional" : 1, |
44660702 DM |
40832 | "pattern" : "\\S+", |
40833 | "type" : "string" | |
56122987 | 40834 | }, |
c5aa7e14 TL |
40835 | "filter" : { |
40836 | "description" : "LDAP filter for user sync.", | |
40837 | "maxLength" : 2048, | |
40838 | "optional" : 1, | |
40839 | "type" : "string", | |
40840 | "typetext" : "<string>" | |
40841 | }, | |
40842 | "group_classes" : { | |
40843 | "default" : "groupOfNames, group, univentionGroup, ipausergroup", | |
40844 | "description" : "The objectclasses for groups.", | |
40845 | "format" : "ldap-simple-attr-list", | |
40846 | "optional" : 1, | |
40847 | "type" : "string", | |
40848 | "typetext" : "<string>" | |
40849 | }, | |
40850 | "group_dn" : { | |
40851 | "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.", | |
40852 | "maxLength" : 256, | |
40853 | "optional" : 1, | |
40854 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40855 | "type" : "string" | |
40856 | }, | |
40857 | "group_filter" : { | |
40858 | "description" : "LDAP filter for group sync.", | |
40859 | "maxLength" : 2048, | |
40860 | "optional" : 1, | |
40861 | "type" : "string", | |
40862 | "typetext" : "<string>" | |
40863 | }, | |
40864 | "group_name_attr" : { | |
40865 | "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.", | |
40866 | "format" : "ldap-simple-attr", | |
40867 | "maxLength" : 256, | |
40868 | "optional" : 1, | |
40869 | "type" : "string", | |
40870 | "typetext" : "<string>" | |
40871 | }, | |
40872 | "mode" : { | |
40873 | "default" : "ldap", | |
40874 | "description" : "LDAP protocol mode.", | |
40875 | "enum" : [ | |
40876 | "ldap", | |
40877 | "ldaps", | |
40878 | "ldap+starttls" | |
40879 | ], | |
40880 | "optional" : 1, | |
40881 | "type" : "string" | |
40882 | }, | |
40883 | "password" : { | |
40884 | "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.", | |
40885 | "optional" : 1, | |
40886 | "type" : "string", | |
40887 | "typetext" : "<string>" | |
40888 | }, | |
7aacca6f | 40889 | "port" : { |
44660702 | 40890 | "description" : "Server port.", |
7aacca6f | 40891 | "maximum" : 65535, |
44660702 | 40892 | "minimum" : 1, |
7aacca6f | 40893 | "optional" : 1, |
4bd7df8b | 40894 | "type" : "integer", |
013dc89f | 40895 | "typetext" : "<integer> (1 - 65535)" |
56122987 | 40896 | }, |
44660702 DM |
40897 | "realm" : { |
40898 | "description" : "Authentication domain ID", | |
40899 | "format" : "pve-realm", | |
40900 | "maxLength" : 32, | |
013dc89f DM |
40901 | "type" : "string", |
40902 | "typetext" : "<string>" | |
44660702 DM |
40903 | }, |
40904 | "secure" : { | |
c5aa7e14 | 40905 | "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.", |
7aacca6f | 40906 | "optional" : 1, |
013dc89f DM |
40907 | "type" : "boolean", |
40908 | "typetext" : "<boolean>" | |
56122987 | 40909 | }, |
44660702 DM |
40910 | "server1" : { |
40911 | "description" : "Server IP address (or DNS name)", | |
40912 | "format" : "address", | |
40913 | "maxLength" : 256, | |
40914 | "optional" : 1, | |
013dc89f DM |
40915 | "type" : "string", |
40916 | "typetext" : "<string>" | |
56122987 | 40917 | }, |
44660702 DM |
40918 | "server2" : { |
40919 | "description" : "Fallback Server IP address (or DNS name)", | |
40920 | "format" : "address", | |
7aacca6f | 40921 | "maxLength" : 256, |
7aacca6f | 40922 | "optional" : 1, |
013dc89f DM |
40923 | "type" : "string", |
40924 | "typetext" : "<string>" | |
7aacca6f | 40925 | }, |
1c532546 TL |
40926 | "sslversion" : { |
40927 | "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!", | |
40928 | "enum" : [ | |
40929 | "tlsv1", | |
40930 | "tlsv1_1", | |
40931 | "tlsv1_2", | |
40932 | "tlsv1_3" | |
40933 | ], | |
40934 | "optional" : 1, | |
40935 | "type" : "string" | |
40936 | }, | |
c5aa7e14 TL |
40937 | "sync-defaults-options" : { |
40938 | "description" : "The default options for behavior of synchronizations.", | |
40939 | "format" : "realm-sync-options", | |
40940 | "optional" : 1, | |
40941 | "type" : "string", | |
40942 | "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]" | |
40943 | }, | |
40944 | "sync_attributes" : { | |
40945 | "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.", | |
40946 | "optional" : 1, | |
40947 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
40948 | "type" : "string" | |
40949 | }, | |
44660702 DM |
40950 | "tfa" : { |
40951 | "description" : "Use Two-factor authentication.", | |
40952 | "format" : "pve-tfa-config", | |
40953 | "maxLength" : 128, | |
40954 | "optional" : 1, | |
013dc89f | 40955 | "type" : "string", |
95895385 | 40956 | "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]" |
44660702 DM |
40957 | }, |
40958 | "type" : { | |
40959 | "description" : "Realm type.", | |
40960 | "enum" : [ | |
40961 | "ad", | |
40962 | "ldap", | |
40963 | "pam", | |
40964 | "pve" | |
40965 | ], | |
40966 | "type" : "string" | |
40967 | }, | |
40968 | "user_attr" : { | |
40969 | "description" : "LDAP user attribute name", | |
7aacca6f | 40970 | "maxLength" : 256, |
7aacca6f | 40971 | "optional" : 1, |
44660702 DM |
40972 | "pattern" : "\\S{2,}", |
40973 | "type" : "string" | |
2489d6df | 40974 | }, |
c5aa7e14 TL |
40975 | "user_classes" : { |
40976 | "default" : "inetorgperson, posixaccount, person, user", | |
40977 | "description" : "The objectclasses for users.", | |
40978 | "format" : "ldap-simple-attr-list", | |
40979 | "optional" : 1, | |
40980 | "type" : "string", | |
40981 | "typetext" : "<string>" | |
40982 | }, | |
2489d6df WB |
40983 | "verify" : { |
40984 | "default" : 0, | |
40985 | "description" : "Verify the server's SSL certificate", | |
40986 | "optional" : 1, | |
40987 | "type" : "boolean", | |
40988 | "typetext" : "<boolean>" | |
7aacca6f DM |
40989 | } |
40990 | }, | |
7aacca6f | 40991 | "type" : "object" |
56122987 | 40992 | }, |
7aacca6f DM |
40993 | "permissions" : { |
40994 | "check" : [ | |
40995 | "perm", | |
40996 | "/access/realm", | |
40997 | [ | |
40998 | "Realm.Allocate" | |
40999 | ] | |
41000 | ] | |
44660702 DM |
41001 | }, |
41002 | "protected" : 1, | |
41003 | "returns" : { | |
41004 | "type" : "null" | |
7aacca6f | 41005 | } |
56122987 | 41006 | } |
7aacca6f | 41007 | }, |
44660702 | 41008 | "leaf" : 0, |
56122987 | 41009 | "path" : "/access/domains", |
44660702 | 41010 | "text" : "domains" |
56122987 DM |
41011 | }, |
41012 | { | |
56122987 | 41013 | "info" : { |
44660702 | 41014 | "GET" : { |
e9cd3bd4 | 41015 | "allowtoken" : 1, |
2489d6df | 41016 | "description" : "Dummy. Useful for formatters which want to provide a login page.", |
44660702 DM |
41017 | "method" : "GET", |
41018 | "name" : "get_ticket", | |
41019 | "parameters" : { | |
41020 | "additionalProperties" : 0 | |
41021 | }, | |
41022 | "permissions" : { | |
41023 | "user" : "world" | |
41024 | }, | |
41025 | "returns" : { | |
41026 | "type" : "null" | |
41027 | } | |
41028 | }, | |
56122987 | 41029 | "POST" : { |
e9cd3bd4 | 41030 | "allowtoken" : 0, |
44660702 | 41031 | "description" : "Create or verify authentication ticket.", |
56122987 | 41032 | "method" : "POST", |
44660702 DM |
41033 | "name" : "create_ticket", |
41034 | "parameters" : { | |
41035 | "additionalProperties" : 0, | |
56122987 | 41036 | "properties" : { |
44660702 DM |
41037 | "otp" : { |
41038 | "description" : "One-time password for Two-factor authentication.", | |
7aacca6f | 41039 | "optional" : 1, |
013dc89f DM |
41040 | "type" : "string", |
41041 | "typetext" : "<string>" | |
56122987 | 41042 | }, |
7aacca6f DM |
41043 | "password" : { |
41044 | "description" : "The secret password. This can also be a valid ticket.", | |
013dc89f DM |
41045 | "type" : "string", |
41046 | "typetext" : "<string>" | |
7aacca6f | 41047 | }, |
44660702 DM |
41048 | "path" : { |
41049 | "description" : "Verify ticket, and check if user have access 'privs' on 'path'", | |
7aacca6f | 41050 | "maxLength" : 64, |
56122987 | 41051 | "optional" : 1, |
56122987 | 41052 | "requires" : "privs", |
013dc89f DM |
41053 | "type" : "string", |
41054 | "typetext" : "<string>" | |
44660702 DM |
41055 | }, |
41056 | "privs" : { | |
7aacca6f | 41057 | "description" : "Verify ticket, and check if user have access 'privs' on 'path'", |
44660702 DM |
41058 | "format" : "pve-priv-list", |
41059 | "maxLength" : 64, | |
56122987 | 41060 | "optional" : 1, |
44660702 | 41061 | "requires" : "path", |
013dc89f DM |
41062 | "type" : "string", |
41063 | "typetext" : "<string>" | |
56122987 DM |
41064 | }, |
41065 | "realm" : { | |
56122987 | 41066 | "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.", |
44660702 | 41067 | "format" : "pve-realm", |
7aacca6f | 41068 | "maxLength" : 32, |
44660702 | 41069 | "optional" : 1, |
013dc89f DM |
41070 | "type" : "string", |
41071 | "typetext" : "<string>" | |
56122987 DM |
41072 | }, |
41073 | "username" : { | |
41074 | "description" : "User name", | |
44660702 | 41075 | "maxLength" : 64, |
013dc89f DM |
41076 | "type" : "string", |
41077 | "typetext" : "<string>" | |
56122987 | 41078 | } |
44660702 | 41079 | } |
7aacca6f | 41080 | }, |
56122987 | 41081 | "permissions" : { |
44660702 | 41082 | "description" : "You need to pass valid credientials.", |
56122987 DM |
41083 | "user" : "world" |
41084 | }, | |
44660702 | 41085 | "protected" : 1, |
7aacca6f | 41086 | "returns" : { |
56122987 | 41087 | "properties" : { |
44660702 DM |
41088 | "CSRFPreventionToken" : { |
41089 | "optional" : 1, | |
41090 | "type" : "string" | |
56122987 | 41091 | }, |
e2d681b3 TL |
41092 | "clustername" : { |
41093 | "optional" : 1, | |
41094 | "type" : "string" | |
41095 | }, | |
44660702 DM |
41096 | "ticket" : { |
41097 | "optional" : 1, | |
41098 | "type" : "string" | |
41099 | }, | |
41100 | "username" : { | |
56122987 DM |
41101 | "type" : "string" |
41102 | } | |
41103 | }, | |
44660702 | 41104 | "type" : "object" |
7aacca6f | 41105 | } |
7aacca6f DM |
41106 | } |
41107 | }, | |
44660702 DM |
41108 | "leaf" : 1, |
41109 | "path" : "/access/ticket", | |
41110 | "text" : "ticket" | |
7aacca6f | 41111 | }, |
56122987 | 41112 | { |
56122987 | 41113 | "info" : { |
7aacca6f | 41114 | "PUT" : { |
e9cd3bd4 | 41115 | "allowtoken" : 0, |
44660702 | 41116 | "description" : "Change user password.", |
7aacca6f | 41117 | "method" : "PUT", |
e2d681b3 | 41118 | "name" : "change_password", |
56122987 DM |
41119 | "parameters" : { |
41120 | "additionalProperties" : 0, | |
41121 | "properties" : { | |
44660702 DM |
41122 | "password" : { |
41123 | "description" : "The new password.", | |
41124 | "maxLength" : 64, | |
41125 | "minLength" : 5, | |
013dc89f DM |
41126 | "type" : "string", |
41127 | "typetext" : "<string>" | |
7aacca6f | 41128 | }, |
44660702 DM |
41129 | "userid" : { |
41130 | "description" : "User ID", | |
41131 | "format" : "pve-userid", | |
41132 | "maxLength" : 64, | |
013dc89f DM |
41133 | "type" : "string", |
41134 | "typetext" : "<string>" | |
56122987 | 41135 | } |
7aacca6f | 41136 | } |
56122987 DM |
41137 | }, |
41138 | "permissions" : { | |
41139 | "check" : [ | |
44660702 | 41140 | "or", |
56122987 | 41141 | [ |
44660702 DM |
41142 | "userid-param", |
41143 | "self" | |
41144 | ], | |
41145 | [ | |
41146 | "and", | |
41147 | [ | |
41148 | "userid-param", | |
41149 | "Realm.AllocateUser" | |
41150 | ], | |
41151 | [ | |
41152 | "userid-group", | |
41153 | [ | |
41154 | "User.Modify" | |
41155 | ] | |
41156 | ] | |
56122987 | 41157 | ] |
7aacca6f | 41158 | ], |
44660702 | 41159 | "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 | 41160 | }, |
44660702 | 41161 | "protected" : 1, |
7aacca6f DM |
41162 | "returns" : { |
41163 | "type" : "null" | |
44660702 DM |
41164 | } |
41165 | } | |
41166 | }, | |
41167 | "leaf" : 1, | |
41168 | "path" : "/access/password", | |
41169 | "text" : "password" | |
95895385 TL |
41170 | }, |
41171 | { | |
41172 | "info" : { | |
41173 | "POST" : { | |
e9cd3bd4 | 41174 | "allowtoken" : 0, |
95895385 TL |
41175 | "description" : "Finish a u2f challenge.", |
41176 | "method" : "POST", | |
41177 | "name" : "verify_tfa", | |
41178 | "parameters" : { | |
41179 | "additionalProperties" : 0, | |
41180 | "properties" : { | |
41181 | "response" : { | |
41182 | "description" : "The response to the current authentication challenge.", | |
41183 | "type" : "string", | |
41184 | "typetext" : "<string>" | |
41185 | } | |
41186 | } | |
41187 | }, | |
41188 | "permissions" : { | |
41189 | "user" : "all" | |
41190 | }, | |
41191 | "protected" : 1, | |
41192 | "returns" : { | |
41193 | "properties" : { | |
41194 | "ticket" : { | |
41195 | "type" : "string" | |
41196 | } | |
41197 | }, | |
41198 | "type" : "object" | |
41199 | } | |
41200 | }, | |
41201 | "PUT" : { | |
e9cd3bd4 | 41202 | "allowtoken" : 0, |
95895385 TL |
41203 | "description" : "Change user u2f authentication.", |
41204 | "method" : "PUT", | |
41205 | "name" : "change_tfa", | |
41206 | "parameters" : { | |
41207 | "additionalProperties" : 0, | |
41208 | "properties" : { | |
41209 | "action" : { | |
41210 | "description" : "The action to perform", | |
41211 | "enum" : [ | |
41212 | "delete", | |
41213 | "new", | |
41214 | "confirm" | |
41215 | ], | |
41216 | "type" : "string" | |
41217 | }, | |
41218 | "config" : { | |
41219 | "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.", | |
41220 | "format" : "pve-tfa-config", | |
41221 | "maxLength" : 128, | |
41222 | "optional" : 1, | |
41223 | "type" : "string", | |
41224 | "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]" | |
41225 | }, | |
41226 | "key" : { | |
41227 | "description" : "When adding TOTP, the shared secret value.", | |
1c532546 | 41228 | "format" : "pve-tfa-secret", |
95895385 | 41229 | "optional" : 1, |
1c532546 TL |
41230 | "type" : "string", |
41231 | "typetext" : "<string>" | |
95895385 TL |
41232 | }, |
41233 | "password" : { | |
41234 | "description" : "The current password.", | |
41235 | "maxLength" : 64, | |
41236 | "minLength" : 5, | |
41237 | "optional" : 1, | |
41238 | "type" : "string", | |
41239 | "typetext" : "<string>" | |
41240 | }, | |
41241 | "response" : { | |
41242 | "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.", | |
41243 | "optional" : 1, | |
41244 | "type" : "string", | |
41245 | "typetext" : "<string>" | |
41246 | }, | |
41247 | "userid" : { | |
41248 | "description" : "User ID", | |
41249 | "format" : "pve-userid", | |
41250 | "maxLength" : 64, | |
41251 | "type" : "string", | |
41252 | "typetext" : "<string>" | |
41253 | } | |
41254 | } | |
41255 | }, | |
41256 | "permissions" : { | |
41257 | "check" : [ | |
41258 | "or", | |
41259 | [ | |
41260 | "userid-param", | |
41261 | "self" | |
41262 | ], | |
41263 | [ | |
41264 | "and", | |
41265 | [ | |
41266 | "userid-param", | |
41267 | "Realm.AllocateUser" | |
41268 | ], | |
41269 | [ | |
41270 | "userid-group", | |
41271 | [ | |
41272 | "User.Modify" | |
41273 | ] | |
41274 | ] | |
41275 | ] | |
41276 | ], | |
41277 | "description" : "A user can change their own u2f or totp token." | |
41278 | }, | |
41279 | "protected" : 1, | |
41280 | "returns" : { | |
41281 | "type" : "object" | |
41282 | } | |
41283 | } | |
41284 | }, | |
41285 | "leaf" : 1, | |
41286 | "path" : "/access/tfa", | |
41287 | "text" : "tfa" | |
e9cd3bd4 TL |
41288 | }, |
41289 | { | |
41290 | "info" : { | |
41291 | "GET" : { | |
41292 | "allowtoken" : 1, | |
41293 | "description" : "Retrieve effective permissions of given user/token.", | |
41294 | "method" : "GET", | |
41295 | "name" : "permissions", | |
41296 | "parameters" : { | |
41297 | "additionalProperties" : 0, | |
41298 | "properties" : { | |
41299 | "path" : { | |
41300 | "description" : "Only dump this specific path, not the whole tree.", | |
41301 | "optional" : 1, | |
41302 | "type" : "string", | |
41303 | "typetext" : "<string>" | |
41304 | }, | |
41305 | "userid" : { | |
41306 | "description" : "User ID or full API token ID", | |
41307 | "optional" : 1, | |
41308 | "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)", | |
41309 | "type" : "string" | |
41310 | } | |
41311 | } | |
41312 | }, | |
41313 | "permissions" : { | |
41314 | "description" : "Each user/token is allowed to dump their own permissions. A user can dump the permissions of another user if they have 'Sys.Audit' permission on /access.", | |
41315 | "user" : "all" | |
41316 | }, | |
41317 | "returns" : { | |
41318 | "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").", | |
41319 | "type" : "object" | |
41320 | } | |
41321 | } | |
41322 | }, | |
41323 | "leaf" : 1, | |
41324 | "path" : "/access/permissions", | |
41325 | "text" : "permissions" | |
44660702 DM |
41326 | } |
41327 | ], | |
41328 | "info" : { | |
41329 | "GET" : { | |
e9cd3bd4 | 41330 | "allowtoken" : 1, |
44660702 DM |
41331 | "description" : "Directory index.", |
41332 | "method" : "GET", | |
41333 | "name" : "index", | |
41334 | "parameters" : { | |
41335 | "additionalProperties" : 0 | |
41336 | }, | |
41337 | "permissions" : { | |
41338 | "user" : "all" | |
41339 | }, | |
41340 | "returns" : { | |
41341 | "items" : { | |
41342 | "properties" : { | |
41343 | "subdir" : { | |
41344 | "type" : "string" | |
41345 | } | |
7aacca6f | 41346 | }, |
44660702 DM |
41347 | "type" : "object" |
41348 | }, | |
41349 | "links" : [ | |
41350 | { | |
41351 | "href" : "{subdir}", | |
41352 | "rel" : "child" | |
41353 | } | |
41354 | ], | |
41355 | "type" : "array" | |
41356 | } | |
41357 | } | |
41358 | }, | |
41359 | "leaf" : 0, | |
41360 | "path" : "/access", | |
41361 | "text" : "access" | |
41362 | }, | |
41363 | { | |
41364 | "children" : [ | |
41365 | { | |
41366 | "info" : { | |
41367 | "DELETE" : { | |
e9cd3bd4 | 41368 | "allowtoken" : 1, |
7aacca6f | 41369 | "description" : "Delete pool.", |
44660702 DM |
41370 | "method" : "DELETE", |
41371 | "name" : "delete_pool", | |
7aacca6f DM |
41372 | "parameters" : { |
41373 | "additionalProperties" : 0, | |
41374 | "properties" : { | |
41375 | "poolid" : { | |
41376 | "format" : "pve-poolid", | |
013dc89f DM |
41377 | "type" : "string", |
41378 | "typetext" : "<string>" | |
7aacca6f DM |
41379 | } |
41380 | } | |
41381 | }, | |
56122987 DM |
41382 | "permissions" : { |
41383 | "check" : [ | |
41384 | "perm", | |
41385 | "/pool/{poolid}", | |
41386 | [ | |
41387 | "Pool.Allocate" | |
41388 | ] | |
44660702 DM |
41389 | ], |
41390 | "description" : "You can only delete empty pools (no members)." | |
41391 | }, | |
41392 | "protected" : 1, | |
41393 | "returns" : { | |
41394 | "type" : "null" | |
7aacca6f DM |
41395 | } |
41396 | }, | |
41397 | "GET" : { | |
e9cd3bd4 | 41398 | "allowtoken" : 1, |
7aacca6f | 41399 | "description" : "Get pool configuration.", |
44660702 | 41400 | "method" : "GET", |
7aacca6f | 41401 | "name" : "read_pool", |
56122987 | 41402 | "parameters" : { |
44660702 | 41403 | "additionalProperties" : 0, |
56122987 DM |
41404 | "properties" : { |
41405 | "poolid" : { | |
44660702 | 41406 | "format" : "pve-poolid", |
013dc89f DM |
41407 | "type" : "string", |
41408 | "typetext" : "<string>" | |
56122987 | 41409 | } |
44660702 | 41410 | } |
56122987 | 41411 | }, |
56122987 | 41412 | "permissions" : { |
56122987 DM |
41413 | "check" : [ |
41414 | "perm", | |
41415 | "/pool/{poolid}", | |
41416 | [ | |
41417 | "Pool.Allocate" | |
41418 | ] | |
41419 | ] | |
41420 | }, | |
7aacca6f | 41421 | "returns" : { |
44660702 | 41422 | "additionalProperties" : 0, |
56122987 | 41423 | "properties" : { |
44660702 DM |
41424 | "comment" : { |
41425 | "optional" : 1, | |
41426 | "type" : "string" | |
41427 | }, | |
7aacca6f | 41428 | "members" : { |
7aacca6f DM |
41429 | "items" : { |
41430 | "additionalProperties" : 1, | |
7aacca6f | 41431 | "properties" : { |
7aacca6f DM |
41432 | "id" : { |
41433 | "type" : "string" | |
41434 | }, | |
41435 | "node" : { | |
41436 | "type" : "string" | |
41437 | }, | |
44660702 DM |
41438 | "storage" : { |
41439 | "optional" : 1, | |
41440 | "type" : "string" | |
41441 | }, | |
7aacca6f | 41442 | "type" : { |
7aacca6f DM |
41443 | "enum" : [ |
41444 | "qemu", | |
41445 | "lxc", | |
41446 | "openvz", | |
41447 | "storage" | |
44660702 DM |
41448 | ], |
41449 | "type" : "string" | |
41450 | }, | |
41451 | "vmid" : { | |
41452 | "optional" : 1, | |
41453 | "type" : "integer" | |
7aacca6f | 41454 | } |
44660702 DM |
41455 | }, |
41456 | "type" : "object" | |
41457 | }, | |
41458 | "type" : "array" | |
41459 | } | |
41460 | }, | |
41461 | "type" : "object" | |
41462 | } | |
41463 | }, | |
41464 | "PUT" : { | |
e9cd3bd4 | 41465 | "allowtoken" : 1, |
44660702 DM |
41466 | "description" : "Update pool data.", |
41467 | "method" : "PUT", | |
41468 | "name" : "update_pool", | |
41469 | "parameters" : { | |
41470 | "additionalProperties" : 0, | |
41471 | "properties" : { | |
56122987 DM |
41472 | "comment" : { |
41473 | "optional" : 1, | |
013dc89f DM |
41474 | "type" : "string", |
41475 | "typetext" : "<string>" | |
44660702 DM |
41476 | }, |
41477 | "delete" : { | |
41478 | "description" : "Remove vms/storage (instead of adding it).", | |
41479 | "optional" : 1, | |
013dc89f DM |
41480 | "type" : "boolean", |
41481 | "typetext" : "<boolean>" | |
44660702 DM |
41482 | }, |
41483 | "poolid" : { | |
41484 | "format" : "pve-poolid", | |
013dc89f DM |
41485 | "type" : "string", |
41486 | "typetext" : "<string>" | |
44660702 DM |
41487 | }, |
41488 | "storage" : { | |
41489 | "description" : "List of storage IDs.", | |
41490 | "format" : "pve-storage-id-list", | |
41491 | "optional" : 1, | |
013dc89f DM |
41492 | "type" : "string", |
41493 | "typetext" : "<string>" | |
44660702 DM |
41494 | }, |
41495 | "vms" : { | |
41496 | "description" : "List of virtual machines.", | |
41497 | "format" : "pve-vmid-list", | |
41498 | "optional" : 1, | |
013dc89f DM |
41499 | "type" : "string", |
41500 | "typetext" : "<string>" | |
56122987 | 41501 | } |
44660702 DM |
41502 | } |
41503 | }, | |
41504 | "permissions" : { | |
41505 | "check" : [ | |
41506 | "perm", | |
41507 | "/pool/{poolid}", | |
41508 | [ | |
41509 | "Pool.Allocate" | |
41510 | ] | |
41511 | ], | |
41512 | "description" : "You also need the right to modify permissions on any object you add/delete." | |
41513 | }, | |
41514 | "protected" : 1, | |
41515 | "returns" : { | |
41516 | "type" : "null" | |
56122987 DM |
41517 | } |
41518 | } | |
41519 | }, | |
44660702 DM |
41520 | "leaf" : 1, |
41521 | "path" : "/pools/{poolid}", | |
7aacca6f | 41522 | "text" : "{poolid}" |
56122987 | 41523 | } |
7aacca6f | 41524 | ], |
56122987 DM |
41525 | "info" : { |
41526 | "GET" : { | |
e9cd3bd4 | 41527 | "allowtoken" : 1, |
44660702 DM |
41528 | "description" : "Pool index.", |
41529 | "method" : "GET", | |
41530 | "name" : "index", | |
41531 | "parameters" : { | |
41532 | "additionalProperties" : 0 | |
41533 | }, | |
41534 | "permissions" : { | |
41535 | "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.", | |
41536 | "user" : "all" | |
41537 | }, | |
56122987 | 41538 | "returns" : { |
44660702 DM |
41539 | "items" : { |
41540 | "properties" : { | |
41541 | "poolid" : { | |
41542 | "type" : "string" | |
41543 | } | |
56122987 | 41544 | }, |
44660702 DM |
41545 | "type" : "object" |
41546 | }, | |
41547 | "links" : [ | |
41548 | { | |
41549 | "href" : "{poolid}", | |
41550 | "rel" : "child" | |
41551 | } | |
41552 | ], | |
41553 | "type" : "array" | |
41554 | } | |
41555 | }, | |
41556 | "POST" : { | |
e9cd3bd4 | 41557 | "allowtoken" : 1, |
44660702 DM |
41558 | "description" : "Create new pool.", |
41559 | "method" : "POST", | |
41560 | "name" : "create_pool", | |
41561 | "parameters" : { | |
41562 | "additionalProperties" : 0, | |
41563 | "properties" : { | |
41564 | "comment" : { | |
41565 | "optional" : 1, | |
013dc89f DM |
41566 | "type" : "string", |
41567 | "typetext" : "<string>" | |
7aacca6f | 41568 | }, |
44660702 DM |
41569 | "poolid" : { |
41570 | "format" : "pve-poolid", | |
013dc89f DM |
41571 | "type" : "string", |
41572 | "typetext" : "<string>" | |
56122987 DM |
41573 | } |
41574 | } | |
41575 | }, | |
56122987 | 41576 | "permissions" : { |
44660702 DM |
41577 | "check" : [ |
41578 | "perm", | |
41579 | "/pool/{poolid}", | |
41580 | [ | |
41581 | "Pool.Allocate" | |
41582 | ] | |
41583 | ] | |
56122987 | 41584 | }, |
44660702 DM |
41585 | "protected" : 1, |
41586 | "returns" : { | |
41587 | "type" : "null" | |
41588 | } | |
41589 | } | |
41590 | }, | |
41591 | "leaf" : 0, | |
41592 | "path" : "/pools", | |
41593 | "text" : "pools" | |
41594 | }, | |
41595 | { | |
41596 | "info" : { | |
41597 | "GET" : { | |
e9cd3bd4 | 41598 | "allowtoken" : 1, |
44660702 DM |
41599 | "description" : "API version details. The result also includes the global datacenter confguration.", |
41600 | "method" : "GET", | |
41601 | "name" : "version", | |
7aacca6f DM |
41602 | "parameters" : { |
41603 | "additionalProperties" : 0 | |
41604 | }, | |
44660702 DM |
41605 | "permissions" : { |
41606 | "user" : "all" | |
41607 | }, | |
41608 | "returns" : { | |
41609 | "properties" : { | |
41610 | "release" : { | |
41611 | "type" : "string" | |
41612 | }, | |
41613 | "repoid" : { | |
41614 | "type" : "string" | |
41615 | }, | |
41616 | "version" : { | |
41617 | "type" : "string" | |
41618 | } | |
41619 | }, | |
41620 | "type" : "object" | |
41621 | } | |
56122987 DM |
41622 | } |
41623 | }, | |
44660702 DM |
41624 | "leaf" : 1, |
41625 | "path" : "/version", | |
56122987 DM |
41626 | "text" : "version" |
41627 | } | |
41628 | ] | |
41629 | ; | |
41630 |