]>
Commit | Line | Data |
---|---|---|
14ffe66b | 1 | var apiSchema = [ |
410dc2c9 DM |
2 | { |
3 | "children" : [ | |
4 | { | |
5 | "children" : [ | |
d7cd791b DM |
6 | { |
7 | "info" : { | |
8 | "GET" : { | |
6bd70b95 | 9 | "allowtoken" : 1, |
d7cd791b DM |
10 | "description" : "Returns the rule database digest. This is used internally for cluster synchronization.", |
11 | "method" : "GET", | |
12 | "name" : "ruledb_digest", | |
13 | "parameters" : { | |
14 | "additionalProperties" : 0 | |
15 | }, | |
732d76e1 DM |
16 | "permissions" : { |
17 | "check" : [ | |
18 | "admin", | |
19 | "audit" | |
20 | ] | |
21 | }, | |
d7cd791b DM |
22 | "returns" : { |
23 | "type" : "string" | |
24 | } | |
25 | } | |
26 | }, | |
27 | "leaf" : 1, | |
28 | "path" : "/config/ruledb/digest", | |
29 | "text" : "digest" | |
30 | }, | |
410dc2c9 | 31 | { |
f245a28c DM |
32 | "children" : [ |
33 | { | |
34 | "children" : [ | |
35 | { | |
36 | "info" : { | |
37 | "GET" : { | |
6bd70b95 | 38 | "allowtoken" : 1, |
f245a28c DM |
39 | "description" : "Get common rule properties.", |
40 | "method" : "GET", | |
41 | "name" : "config", | |
42 | "parameters" : { | |
43 | "additionalProperties" : 0, | |
44 | "properties" : { | |
45 | "id" : { | |
46 | "description" : "Rule ID.", | |
47 | "type" : "integer", | |
48 | "typetext" : "<integer>" | |
49 | } | |
50 | } | |
51 | }, | |
732d76e1 DM |
52 | "permissions" : { |
53 | "check" : [ | |
54 | "admin", | |
55 | "audit" | |
56 | ] | |
57 | }, | |
f245a28c DM |
58 | "proxyto" : "master", |
59 | "returns" : { | |
60 | "properties" : { | |
61 | "active" : { | |
62 | "type" : "boolean" | |
63 | }, | |
64 | "direction" : { | |
65 | "type" : "integer" | |
66 | }, | |
67 | "id" : { | |
68 | "type" : "integer" | |
69 | }, | |
70 | "name" : { | |
71 | "type" : "string" | |
72 | }, | |
73 | "priority" : { | |
74 | "type" : "integer" | |
75 | } | |
76 | }, | |
77 | "type" : "object" | |
78 | } | |
79 | }, | |
80 | "PUT" : { | |
6bd70b95 | 81 | "allowtoken" : 1, |
f245a28c DM |
82 | "description" : "Set rule properties.", |
83 | "method" : "PUT", | |
84 | "name" : "update_config", | |
85 | "parameters" : { | |
86 | "additionalProperties" : 0, | |
87 | "properties" : { | |
88 | "active" : { | |
89 | "description" : "Flag to activate rule.", | |
90 | "optional" : 1, | |
91 | "type" : "boolean", | |
92 | "typetext" : "<boolean>" | |
93 | }, | |
94 | "direction" : { | |
d8212759 | 95 | "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.", |
f245a28c DM |
96 | "maximum" : 2, |
97 | "minimum" : 0, | |
98 | "optional" : 1, | |
99 | "type" : "integer", | |
100 | "typetext" : "<integer> (0 - 2)" | |
101 | }, | |
102 | "id" : { | |
103 | "description" : "Rule ID.", | |
104 | "type" : "integer", | |
105 | "typetext" : "<integer>" | |
106 | }, | |
107 | "name" : { | |
108 | "description" : "Rule name", | |
109 | "optional" : 1, | |
110 | "type" : "string", | |
111 | "typetext" : "<string>" | |
112 | }, | |
113 | "priority" : { | |
114 | "description" : "Rule priotity.", | |
115 | "maximum" : 100, | |
116 | "minimum" : 0, | |
117 | "optional" : 1, | |
118 | "type" : "integer", | |
119 | "typetext" : "<integer> (0 - 100)" | |
120 | } | |
121 | } | |
122 | }, | |
732d76e1 DM |
123 | "permissions" : { |
124 | "check" : [ | |
125 | "admin" | |
126 | ] | |
127 | }, | |
f245a28c DM |
128 | "protected" : 1, |
129 | "proxyto" : "master", | |
130 | "returns" : { | |
131 | "type" : "null" | |
132 | } | |
133 | } | |
134 | }, | |
135 | "leaf" : 1, | |
136 | "path" : "/config/ruledb/rules/{id}/config", | |
137 | "text" : "config" | |
138 | }, | |
139 | { | |
140 | "children" : [ | |
141 | { | |
142 | "info" : { | |
143 | "DELETE" : { | |
6bd70b95 | 144 | "allowtoken" : 1, |
f245a28c DM |
145 | "description" : "Delete group from 'from' list.", |
146 | "method" : "DELETE", | |
147 | "name" : "delete_from_group", | |
148 | "parameters" : { | |
149 | "additionalProperties" : 0, | |
150 | "properties" : { | |
151 | "id" : { | |
152 | "description" : "Rule ID.", | |
153 | "type" : "integer", | |
154 | "typetext" : "<integer>" | |
155 | }, | |
156 | "ogroup" : { | |
157 | "description" : "Groups ID.", | |
158 | "type" : "integer", | |
159 | "typetext" : "<integer>" | |
160 | } | |
161 | } | |
162 | }, | |
732d76e1 DM |
163 | "permissions" : { |
164 | "check" : [ | |
165 | "admin" | |
166 | ] | |
167 | }, | |
f245a28c DM |
168 | "protected" : 1, |
169 | "proxyto" : "master", | |
170 | "returns" : { | |
171 | "type" : "null" | |
172 | } | |
173 | } | |
174 | }, | |
175 | "leaf" : 1, | |
176 | "path" : "/config/ruledb/rules/{id}/from/{ogroup}", | |
177 | "text" : "{ogroup}" | |
178 | } | |
179 | ], | |
180 | "info" : { | |
181 | "GET" : { | |
6bd70b95 | 182 | "allowtoken" : 1, |
f245a28c DM |
183 | "description" : "Get 'from' group list.", |
184 | "method" : "GET", | |
185 | "name" : "from", | |
186 | "parameters" : { | |
187 | "additionalProperties" : 0, | |
188 | "properties" : { | |
189 | "id" : { | |
190 | "description" : "Rule ID.", | |
191 | "type" : "integer", | |
192 | "typetext" : "<integer>" | |
193 | } | |
194 | } | |
195 | }, | |
732d76e1 DM |
196 | "permissions" : { |
197 | "check" : [ | |
198 | "admin", | |
199 | "audit" | |
200 | ] | |
201 | }, | |
f245a28c DM |
202 | "proxyto" : "master", |
203 | "returns" : { | |
204 | "items" : { | |
205 | "properties" : { | |
206 | "id" : { | |
207 | "type" : "integer" | |
208 | } | |
209 | }, | |
210 | "type" : "object" | |
211 | }, | |
212 | "type" : "array" | |
213 | } | |
214 | }, | |
215 | "POST" : { | |
6bd70b95 | 216 | "allowtoken" : 1, |
f245a28c DM |
217 | "description" : "Add group to 'from' list.", |
218 | "method" : "POST", | |
219 | "name" : "add_from_group", | |
220 | "parameters" : { | |
221 | "additionalProperties" : 0, | |
222 | "properties" : { | |
223 | "id" : { | |
224 | "description" : "Rule ID.", | |
225 | "type" : "integer", | |
226 | "typetext" : "<integer>" | |
227 | }, | |
228 | "ogroup" : { | |
229 | "description" : "Groups ID.", | |
230 | "type" : "integer", | |
231 | "typetext" : "<integer>" | |
232 | } | |
233 | } | |
234 | }, | |
732d76e1 DM |
235 | "permissions" : { |
236 | "check" : [ | |
237 | "admin" | |
238 | ] | |
239 | }, | |
f245a28c DM |
240 | "protected" : 1, |
241 | "proxyto" : "master", | |
242 | "returns" : { | |
243 | "type" : "null" | |
244 | } | |
245 | } | |
246 | }, | |
247 | "leaf" : 0, | |
248 | "path" : "/config/ruledb/rules/{id}/from", | |
249 | "text" : "from" | |
250 | }, | |
251 | { | |
252 | "children" : [ | |
253 | { | |
254 | "info" : { | |
255 | "DELETE" : { | |
6bd70b95 | 256 | "allowtoken" : 1, |
f245a28c DM |
257 | "description" : "Delete group from 'to' list.", |
258 | "method" : "DELETE", | |
259 | "name" : "delete_to_group", | |
260 | "parameters" : { | |
261 | "additionalProperties" : 0, | |
262 | "properties" : { | |
263 | "id" : { | |
264 | "description" : "Rule ID.", | |
265 | "type" : "integer", | |
266 | "typetext" : "<integer>" | |
267 | }, | |
268 | "ogroup" : { | |
269 | "description" : "Groups ID.", | |
270 | "type" : "integer", | |
271 | "typetext" : "<integer>" | |
272 | } | |
273 | } | |
274 | }, | |
732d76e1 DM |
275 | "permissions" : { |
276 | "check" : [ | |
277 | "admin" | |
278 | ] | |
279 | }, | |
f245a28c DM |
280 | "protected" : 1, |
281 | "proxyto" : "master", | |
282 | "returns" : { | |
283 | "type" : "null" | |
284 | } | |
285 | } | |
286 | }, | |
287 | "leaf" : 1, | |
288 | "path" : "/config/ruledb/rules/{id}/to/{ogroup}", | |
289 | "text" : "{ogroup}" | |
290 | } | |
291 | ], | |
292 | "info" : { | |
293 | "GET" : { | |
6bd70b95 | 294 | "allowtoken" : 1, |
f245a28c DM |
295 | "description" : "Get 'to' group list.", |
296 | "method" : "GET", | |
297 | "name" : "to", | |
298 | "parameters" : { | |
299 | "additionalProperties" : 0, | |
300 | "properties" : { | |
301 | "id" : { | |
302 | "description" : "Rule ID.", | |
303 | "type" : "integer", | |
304 | "typetext" : "<integer>" | |
305 | } | |
306 | } | |
307 | }, | |
732d76e1 DM |
308 | "permissions" : { |
309 | "check" : [ | |
310 | "admin", | |
311 | "audit" | |
312 | ] | |
313 | }, | |
f245a28c DM |
314 | "proxyto" : "master", |
315 | "returns" : { | |
316 | "items" : { | |
317 | "properties" : { | |
318 | "id" : { | |
319 | "type" : "integer" | |
320 | } | |
321 | }, | |
322 | "type" : "object" | |
323 | }, | |
324 | "type" : "array" | |
325 | } | |
326 | }, | |
327 | "POST" : { | |
6bd70b95 | 328 | "allowtoken" : 1, |
f245a28c DM |
329 | "description" : "Add group to 'to' list.", |
330 | "method" : "POST", | |
331 | "name" : "add_to_group", | |
332 | "parameters" : { | |
333 | "additionalProperties" : 0, | |
334 | "properties" : { | |
335 | "id" : { | |
336 | "description" : "Rule ID.", | |
337 | "type" : "integer", | |
338 | "typetext" : "<integer>" | |
339 | }, | |
340 | "ogroup" : { | |
341 | "description" : "Groups ID.", | |
342 | "type" : "integer", | |
343 | "typetext" : "<integer>" | |
344 | } | |
345 | } | |
346 | }, | |
732d76e1 DM |
347 | "permissions" : { |
348 | "check" : [ | |
349 | "admin" | |
350 | ] | |
351 | }, | |
f245a28c DM |
352 | "protected" : 1, |
353 | "proxyto" : "master", | |
354 | "returns" : { | |
355 | "type" : "null" | |
356 | } | |
357 | } | |
358 | }, | |
359 | "leaf" : 0, | |
360 | "path" : "/config/ruledb/rules/{id}/to", | |
361 | "text" : "to" | |
362 | }, | |
363 | { | |
364 | "children" : [ | |
365 | { | |
366 | "info" : { | |
367 | "DELETE" : { | |
6bd70b95 | 368 | "allowtoken" : 1, |
f245a28c DM |
369 | "description" : "Delete group from 'when' list.", |
370 | "method" : "DELETE", | |
371 | "name" : "delete_when_group", | |
372 | "parameters" : { | |
373 | "additionalProperties" : 0, | |
374 | "properties" : { | |
375 | "id" : { | |
376 | "description" : "Rule ID.", | |
377 | "type" : "integer", | |
378 | "typetext" : "<integer>" | |
379 | }, | |
380 | "ogroup" : { | |
381 | "description" : "Groups ID.", | |
382 | "type" : "integer", | |
383 | "typetext" : "<integer>" | |
384 | } | |
385 | } | |
386 | }, | |
732d76e1 DM |
387 | "permissions" : { |
388 | "check" : [ | |
389 | "admin" | |
390 | ] | |
391 | }, | |
f245a28c DM |
392 | "protected" : 1, |
393 | "proxyto" : "master", | |
394 | "returns" : { | |
395 | "type" : "null" | |
396 | } | |
397 | } | |
398 | }, | |
399 | "leaf" : 1, | |
400 | "path" : "/config/ruledb/rules/{id}/when/{ogroup}", | |
401 | "text" : "{ogroup}" | |
402 | } | |
403 | ], | |
404 | "info" : { | |
405 | "GET" : { | |
6bd70b95 | 406 | "allowtoken" : 1, |
f245a28c DM |
407 | "description" : "Get 'when' group list.", |
408 | "method" : "GET", | |
409 | "name" : "when", | |
410 | "parameters" : { | |
411 | "additionalProperties" : 0, | |
412 | "properties" : { | |
413 | "id" : { | |
414 | "description" : "Rule ID.", | |
415 | "type" : "integer", | |
416 | "typetext" : "<integer>" | |
417 | } | |
418 | } | |
419 | }, | |
732d76e1 DM |
420 | "permissions" : { |
421 | "check" : [ | |
422 | "admin", | |
423 | "audit" | |
424 | ] | |
425 | }, | |
f245a28c DM |
426 | "proxyto" : "master", |
427 | "returns" : { | |
428 | "items" : { | |
429 | "properties" : { | |
430 | "id" : { | |
431 | "type" : "integer" | |
432 | } | |
433 | }, | |
434 | "type" : "object" | |
435 | }, | |
436 | "type" : "array" | |
437 | } | |
438 | }, | |
439 | "POST" : { | |
6bd70b95 | 440 | "allowtoken" : 1, |
f245a28c DM |
441 | "description" : "Add group to 'when' list.", |
442 | "method" : "POST", | |
443 | "name" : "add_when_group", | |
444 | "parameters" : { | |
445 | "additionalProperties" : 0, | |
446 | "properties" : { | |
447 | "id" : { | |
448 | "description" : "Rule ID.", | |
449 | "type" : "integer", | |
450 | "typetext" : "<integer>" | |
451 | }, | |
452 | "ogroup" : { | |
453 | "description" : "Groups ID.", | |
454 | "type" : "integer", | |
455 | "typetext" : "<integer>" | |
456 | } | |
457 | } | |
458 | }, | |
732d76e1 DM |
459 | "permissions" : { |
460 | "check" : [ | |
461 | "admin" | |
462 | ] | |
463 | }, | |
f245a28c DM |
464 | "protected" : 1, |
465 | "proxyto" : "master", | |
466 | "returns" : { | |
467 | "type" : "null" | |
468 | } | |
469 | } | |
470 | }, | |
471 | "leaf" : 0, | |
472 | "path" : "/config/ruledb/rules/{id}/when", | |
473 | "text" : "when" | |
474 | }, | |
475 | { | |
476 | "children" : [ | |
477 | { | |
478 | "info" : { | |
479 | "DELETE" : { | |
6bd70b95 | 480 | "allowtoken" : 1, |
f245a28c DM |
481 | "description" : "Delete group from 'what' list.", |
482 | "method" : "DELETE", | |
483 | "name" : "delete_what_group", | |
484 | "parameters" : { | |
485 | "additionalProperties" : 0, | |
486 | "properties" : { | |
487 | "id" : { | |
488 | "description" : "Rule ID.", | |
489 | "type" : "integer", | |
490 | "typetext" : "<integer>" | |
491 | }, | |
492 | "ogroup" : { | |
493 | "description" : "Groups ID.", | |
494 | "type" : "integer", | |
495 | "typetext" : "<integer>" | |
496 | } | |
497 | } | |
498 | }, | |
732d76e1 DM |
499 | "permissions" : { |
500 | "check" : [ | |
501 | "admin" | |
502 | ] | |
503 | }, | |
f245a28c DM |
504 | "protected" : 1, |
505 | "proxyto" : "master", | |
506 | "returns" : { | |
507 | "type" : "null" | |
508 | } | |
509 | } | |
510 | }, | |
511 | "leaf" : 1, | |
512 | "path" : "/config/ruledb/rules/{id}/what/{ogroup}", | |
513 | "text" : "{ogroup}" | |
514 | } | |
515 | ], | |
516 | "info" : { | |
517 | "GET" : { | |
6bd70b95 | 518 | "allowtoken" : 1, |
f245a28c DM |
519 | "description" : "Get 'what' group list.", |
520 | "method" : "GET", | |
521 | "name" : "what", | |
522 | "parameters" : { | |
523 | "additionalProperties" : 0, | |
524 | "properties" : { | |
525 | "id" : { | |
526 | "description" : "Rule ID.", | |
527 | "type" : "integer", | |
528 | "typetext" : "<integer>" | |
529 | } | |
530 | } | |
531 | }, | |
732d76e1 DM |
532 | "permissions" : { |
533 | "check" : [ | |
534 | "admin", | |
535 | "audit" | |
536 | ] | |
537 | }, | |
f245a28c DM |
538 | "proxyto" : "master", |
539 | "returns" : { | |
540 | "items" : { | |
541 | "properties" : { | |
542 | "id" : { | |
543 | "type" : "integer" | |
544 | } | |
545 | }, | |
546 | "type" : "object" | |
547 | }, | |
548 | "type" : "array" | |
549 | } | |
550 | }, | |
551 | "POST" : { | |
6bd70b95 | 552 | "allowtoken" : 1, |
f245a28c DM |
553 | "description" : "Add group to 'what' list.", |
554 | "method" : "POST", | |
555 | "name" : "add_what_group", | |
556 | "parameters" : { | |
557 | "additionalProperties" : 0, | |
558 | "properties" : { | |
559 | "id" : { | |
560 | "description" : "Rule ID.", | |
561 | "type" : "integer", | |
562 | "typetext" : "<integer>" | |
563 | }, | |
564 | "ogroup" : { | |
565 | "description" : "Groups ID.", | |
566 | "type" : "integer", | |
567 | "typetext" : "<integer>" | |
568 | } | |
569 | } | |
570 | }, | |
732d76e1 DM |
571 | "permissions" : { |
572 | "check" : [ | |
573 | "admin" | |
574 | ] | |
575 | }, | |
f245a28c DM |
576 | "protected" : 1, |
577 | "proxyto" : "master", | |
578 | "returns" : { | |
579 | "type" : "null" | |
580 | } | |
581 | } | |
582 | }, | |
583 | "leaf" : 0, | |
584 | "path" : "/config/ruledb/rules/{id}/what", | |
585 | "text" : "what" | |
586 | }, | |
587 | { | |
588 | "children" : [ | |
589 | { | |
590 | "info" : { | |
591 | "DELETE" : { | |
6bd70b95 | 592 | "allowtoken" : 1, |
f245a28c DM |
593 | "description" : "Delete group from 'action' list.", |
594 | "method" : "DELETE", | |
595 | "name" : "delete_action_group", | |
596 | "parameters" : { | |
597 | "additionalProperties" : 0, | |
598 | "properties" : { | |
599 | "id" : { | |
600 | "description" : "Rule ID.", | |
601 | "type" : "integer", | |
602 | "typetext" : "<integer>" | |
603 | }, | |
604 | "ogroup" : { | |
605 | "description" : "Groups ID.", | |
606 | "type" : "integer", | |
607 | "typetext" : "<integer>" | |
608 | } | |
609 | } | |
610 | }, | |
732d76e1 DM |
611 | "permissions" : { |
612 | "check" : [ | |
613 | "admin" | |
614 | ] | |
615 | }, | |
f245a28c DM |
616 | "protected" : 1, |
617 | "proxyto" : "master", | |
618 | "returns" : { | |
619 | "type" : "null" | |
620 | } | |
621 | } | |
622 | }, | |
623 | "leaf" : 1, | |
624 | "path" : "/config/ruledb/rules/{id}/action/{ogroup}", | |
625 | "text" : "{ogroup}" | |
626 | } | |
627 | ], | |
628 | "info" : { | |
629 | "GET" : { | |
6bd70b95 | 630 | "allowtoken" : 1, |
f245a28c DM |
631 | "description" : "Get 'action' group list.", |
632 | "method" : "GET", | |
633 | "name" : "action", | |
634 | "parameters" : { | |
635 | "additionalProperties" : 0, | |
636 | "properties" : { | |
637 | "id" : { | |
638 | "description" : "Rule ID.", | |
639 | "type" : "integer", | |
640 | "typetext" : "<integer>" | |
641 | } | |
642 | } | |
643 | }, | |
732d76e1 DM |
644 | "permissions" : { |
645 | "check" : [ | |
646 | "admin", | |
647 | "audit" | |
648 | ] | |
649 | }, | |
f245a28c DM |
650 | "proxyto" : "master", |
651 | "returns" : { | |
652 | "items" : { | |
653 | "properties" : { | |
654 | "id" : { | |
655 | "type" : "integer" | |
656 | } | |
657 | }, | |
658 | "type" : "object" | |
659 | }, | |
660 | "type" : "array" | |
661 | } | |
662 | }, | |
663 | "POST" : { | |
6bd70b95 | 664 | "allowtoken" : 1, |
f245a28c DM |
665 | "description" : "Add group to 'action' list.", |
666 | "method" : "POST", | |
667 | "name" : "add_action_group", | |
668 | "parameters" : { | |
669 | "additionalProperties" : 0, | |
670 | "properties" : { | |
671 | "id" : { | |
672 | "description" : "Rule ID.", | |
673 | "type" : "integer", | |
674 | "typetext" : "<integer>" | |
675 | }, | |
676 | "ogroup" : { | |
677 | "description" : "Groups ID.", | |
678 | "type" : "integer", | |
679 | "typetext" : "<integer>" | |
680 | } | |
681 | } | |
682 | }, | |
732d76e1 DM |
683 | "permissions" : { |
684 | "check" : [ | |
685 | "admin" | |
686 | ] | |
687 | }, | |
f245a28c DM |
688 | "protected" : 1, |
689 | "proxyto" : "master", | |
690 | "returns" : { | |
691 | "type" : "null" | |
692 | } | |
693 | } | |
694 | }, | |
695 | "leaf" : 0, | |
696 | "path" : "/config/ruledb/rules/{id}/action", | |
697 | "text" : "action" | |
698 | } | |
699 | ], | |
700 | "info" : { | |
701 | "DELETE" : { | |
6bd70b95 | 702 | "allowtoken" : 1, |
f245a28c DM |
703 | "description" : "Delete rule.", |
704 | "method" : "DELETE", | |
705 | "name" : "delete_rule", | |
706 | "parameters" : { | |
707 | "additionalProperties" : 0, | |
708 | "properties" : { | |
709 | "id" : { | |
710 | "description" : "Rule ID.", | |
711 | "type" : "integer", | |
712 | "typetext" : "<integer>" | |
713 | } | |
714 | } | |
715 | }, | |
732d76e1 DM |
716 | "permissions" : { |
717 | "check" : [ | |
718 | "admin" | |
719 | ] | |
720 | }, | |
d7cd791b DM |
721 | "protected" : 1, |
722 | "proxyto" : "master", | |
f245a28c DM |
723 | "returns" : { |
724 | "type" : "null" | |
725 | } | |
726 | }, | |
727 | "GET" : { | |
6bd70b95 | 728 | "allowtoken" : 1, |
f245a28c DM |
729 | "description" : "Directory index.", |
730 | "method" : "GET", | |
731 | "name" : "index", | |
732 | "parameters" : { | |
733 | "additionalProperties" : 0, | |
734 | "properties" : { | |
735 | "id" : { | |
736 | "description" : "Rule ID.", | |
737 | "type" : "integer", | |
738 | "typetext" : "<integer>" | |
739 | } | |
740 | } | |
741 | }, | |
732d76e1 DM |
742 | "permissions" : { |
743 | "check" : [ | |
744 | "admin", | |
745 | "audit" | |
746 | ] | |
747 | }, | |
f245a28c DM |
748 | "returns" : { |
749 | "items" : { | |
750 | "properties" : { | |
751 | "subdir" : { | |
752 | "type" : "string" | |
753 | } | |
754 | }, | |
755 | "type" : "object" | |
756 | }, | |
757 | "links" : [ | |
758 | { | |
759 | "href" : "{subdir}", | |
760 | "rel" : "child" | |
761 | } | |
762 | ], | |
763 | "type" : "array" | |
764 | } | |
765 | } | |
766 | }, | |
767 | "leaf" : 0, | |
768 | "path" : "/config/ruledb/rules/{id}", | |
769 | "text" : "{id}" | |
770 | } | |
771 | ], | |
772 | "info" : { | |
773 | "GET" : { | |
6bd70b95 | 774 | "allowtoken" : 1, |
f245a28c DM |
775 | "description" : "Get list of rules.", |
776 | "method" : "GET", | |
777 | "name" : "list_rules", | |
778 | "parameters" : { | |
779 | "additionalProperties" : 0 | |
780 | }, | |
732d76e1 DM |
781 | "permissions" : { |
782 | "check" : [ | |
783 | "admin", | |
784 | "audit" | |
785 | ] | |
786 | }, | |
f245a28c DM |
787 | "proxyto" : "master", |
788 | "returns" : { | |
789 | "items" : { | |
790 | "properties" : { | |
791 | "id" : { | |
792 | "type" : "integer" | |
793 | } | |
794 | }, | |
795 | "type" : "object" | |
796 | }, | |
797 | "links" : [ | |
798 | { | |
799 | "href" : "{id}", | |
800 | "rel" : "child" | |
801 | } | |
802 | ], | |
803 | "type" : "array" | |
804 | } | |
805 | }, | |
806 | "POST" : { | |
6bd70b95 | 807 | "allowtoken" : 1, |
f245a28c DM |
808 | "description" : "Create new rule.", |
809 | "method" : "POST", | |
810 | "name" : "create_rule", | |
811 | "parameters" : { | |
812 | "additionalProperties" : 0, | |
813 | "properties" : { | |
814 | "active" : { | |
815 | "description" : "Flag to activate rule.", | |
816 | "optional" : 1, | |
817 | "type" : "boolean", | |
818 | "typetext" : "<boolean>" | |
819 | }, | |
820 | "direction" : { | |
d8212759 | 821 | "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.", |
f245a28c DM |
822 | "maximum" : 2, |
823 | "minimum" : 0, | |
824 | "optional" : 1, | |
825 | "type" : "integer", | |
826 | "typetext" : "<integer> (0 - 2)" | |
827 | }, | |
828 | "name" : { | |
829 | "description" : "Rule name", | |
830 | "type" : "string", | |
831 | "typetext" : "<string>" | |
832 | }, | |
833 | "priority" : { | |
834 | "description" : "Rule priotity.", | |
835 | "maximum" : 100, | |
836 | "minimum" : 0, | |
837 | "type" : "integer", | |
838 | "typetext" : "<integer> (0 - 100)" | |
839 | } | |
840 | } | |
841 | }, | |
732d76e1 DM |
842 | "permissions" : { |
843 | "check" : [ | |
844 | "admin" | |
845 | ] | |
846 | }, | |
f245a28c DM |
847 | "protected" : 1, |
848 | "proxyto" : "master", | |
849 | "returns" : { | |
850 | "type" : "integer" | |
851 | } | |
852 | } | |
853 | }, | |
854 | "leaf" : 0, | |
855 | "path" : "/config/ruledb/rules", | |
856 | "text" : "rules" | |
857 | }, | |
858 | { | |
859 | "children" : [ | |
860 | { | |
861 | "children" : [ | |
862 | { | |
863 | "info" : { | |
864 | "DELETE" : { | |
6bd70b95 | 865 | "allowtoken" : 1, |
f245a28c DM |
866 | "description" : "Delete 'actions' object.", |
867 | "method" : "DELETE", | |
868 | "name" : "delete_action", | |
869 | "parameters" : { | |
870 | "additionalProperties" : 0, | |
871 | "properties" : { | |
872 | "id" : { | |
873 | "description" : "Action Object ID.", | |
874 | "pattern" : "\\d+_\\d+", | |
875 | "type" : "string" | |
876 | } | |
877 | } | |
878 | }, | |
732d76e1 DM |
879 | "permissions" : { |
880 | "check" : [ | |
881 | "admin" | |
882 | ] | |
883 | }, | |
d7cd791b DM |
884 | "protected" : 1, |
885 | "proxyto" : "master", | |
f245a28c DM |
886 | "returns" : { |
887 | "type" : "null" | |
888 | } | |
889 | } | |
890 | }, | |
891 | "leaf" : 1, | |
892 | "path" : "/config/ruledb/action/objects/{id}", | |
893 | "text" : "{id}" | |
894 | } | |
895 | ], | |
896 | "info" : { | |
897 | "GET" : { | |
6bd70b95 | 898 | "allowtoken" : 1, |
f245a28c DM |
899 | "description" : "List 'actions' objects.", |
900 | "method" : "GET", | |
901 | "name" : "list_actions", | |
902 | "parameters" : { | |
903 | "additionalProperties" : 0 | |
904 | }, | |
732d76e1 DM |
905 | "permissions" : { |
906 | "check" : [ | |
907 | "admin", | |
908 | "audit" | |
909 | ] | |
910 | }, | |
d7cd791b | 911 | "proxyto" : "master", |
f245a28c DM |
912 | "returns" : { |
913 | "items" : { | |
914 | "properties" : { | |
915 | "id" : { | |
916 | "description" : "Action Object ID.", | |
917 | "pattern" : "\\d+_\\d+", | |
918 | "type" : "string" | |
919 | } | |
920 | }, | |
921 | "type" : "object" | |
922 | }, | |
923 | "links" : [ | |
924 | { | |
925 | "href" : "{id}", | |
926 | "rel" : "child" | |
927 | } | |
928 | ], | |
929 | "type" : "array" | |
930 | } | |
931 | } | |
932 | }, | |
933 | "leaf" : 0, | |
934 | "path" : "/config/ruledb/action/objects", | |
935 | "text" : "objects" | |
936 | }, | |
937 | { | |
938 | "children" : [ | |
939 | { | |
940 | "info" : { | |
941 | "GET" : { | |
6bd70b95 | 942 | "allowtoken" : 1, |
f245a28c DM |
943 | "description" : "Read 'BCC' object settings.", |
944 | "method" : "GET", | |
945 | "name" : "read_bcc", | |
946 | "parameters" : { | |
947 | "additionalProperties" : 0, | |
948 | "properties" : { | |
949 | "id" : { | |
950 | "description" : "Action Object ID.", | |
951 | "pattern" : "\\d+_\\d+", | |
952 | "type" : "string" | |
953 | } | |
954 | } | |
955 | }, | |
732d76e1 DM |
956 | "permissions" : { |
957 | "check" : [ | |
958 | "admin", | |
959 | "audit" | |
960 | ] | |
961 | }, | |
f245a28c DM |
962 | "proxyto" : "master", |
963 | "returns" : { | |
964 | "properties" : { | |
965 | "id" : { | |
966 | "type" : "string" | |
967 | } | |
968 | }, | |
969 | "type" : "object" | |
970 | } | |
971 | }, | |
972 | "PUT" : { | |
6bd70b95 | 973 | "allowtoken" : 1, |
f245a28c DM |
974 | "description" : "Update 'BCC' object.", |
975 | "method" : "PUT", | |
976 | "name" : "update_bcc", | |
977 | "parameters" : { | |
978 | "additionalProperties" : 0, | |
979 | "properties" : { | |
980 | "id" : { | |
981 | "description" : "Action Object ID.", | |
982 | "pattern" : "\\d+_\\d+", | |
983 | "type" : "string" | |
984 | }, | |
985 | "info" : { | |
986 | "description" : "Informational comment.", | |
987 | "maxLength" : 255, | |
988 | "optional" : 1, | |
989 | "type" : "string", | |
990 | "typetext" : "<string>" | |
991 | }, | |
992 | "name" : { | |
993 | "description" : "Action name.", | |
994 | "maxLength" : 255, | |
995 | "optional" : 1, | |
996 | "type" : "string", | |
997 | "typetext" : "<string>" | |
998 | }, | |
999 | "original" : { | |
1000 | "default" : 1, | |
1001 | "description" : "Send the original, unmodified mail.", | |
1002 | "optional" : 1, | |
1003 | "type" : "boolean", | |
1004 | "typetext" : "<boolean>" | |
1005 | }, | |
1006 | "target" : { | |
1007 | "description" : "Send a Blind Carbon Copy to this email address.", | |
1008 | "format" : "email", | |
1009 | "type" : "string", | |
1010 | "typetext" : "<string>" | |
1011 | } | |
1012 | } | |
1013 | }, | |
732d76e1 DM |
1014 | "permissions" : { |
1015 | "check" : [ | |
1016 | "admin" | |
1017 | ] | |
1018 | }, | |
d7cd791b | 1019 | "protected" : 1, |
f245a28c DM |
1020 | "proxyto" : "master", |
1021 | "returns" : { | |
1022 | "type" : "null" | |
1023 | } | |
1024 | } | |
1025 | }, | |
1026 | "leaf" : 1, | |
1027 | "path" : "/config/ruledb/action/bcc/{id}", | |
1028 | "text" : "{id}" | |
1029 | } | |
1030 | ], | |
1031 | "info" : { | |
1032 | "POST" : { | |
6bd70b95 | 1033 | "allowtoken" : 1, |
f245a28c DM |
1034 | "description" : "Create 'BCC' object.", |
1035 | "method" : "POST", | |
1036 | "name" : "bcc", | |
1037 | "parameters" : { | |
1038 | "additionalProperties" : 0, | |
1039 | "properties" : { | |
1040 | "info" : { | |
1041 | "description" : "Informational comment.", | |
1042 | "maxLength" : 255, | |
1043 | "optional" : 1, | |
1044 | "type" : "string", | |
1045 | "typetext" : "<string>" | |
1046 | }, | |
1047 | "name" : { | |
1048 | "description" : "Action name.", | |
1049 | "maxLength" : 255, | |
1050 | "type" : "string", | |
1051 | "typetext" : "<string>" | |
1052 | }, | |
1053 | "original" : { | |
1054 | "default" : 1, | |
1055 | "description" : "Send the original, unmodified mail.", | |
1056 | "optional" : 1, | |
1057 | "type" : "boolean", | |
1058 | "typetext" : "<boolean>" | |
1059 | }, | |
1060 | "target" : { | |
1061 | "description" : "Send a Blind Carbon Copy to this email address.", | |
1062 | "format" : "email", | |
1063 | "type" : "string", | |
1064 | "typetext" : "<string>" | |
1065 | } | |
1066 | } | |
1067 | }, | |
732d76e1 DM |
1068 | "permissions" : { |
1069 | "check" : [ | |
1070 | "admin" | |
1071 | ] | |
1072 | }, | |
d7cd791b | 1073 | "protected" : 1, |
f245a28c DM |
1074 | "proxyto" : "master", |
1075 | "returns" : { | |
1076 | "description" : "The object ID.", | |
1077 | "type" : "string" | |
1078 | } | |
1079 | } | |
1080 | }, | |
1081 | "leaf" : 0, | |
1082 | "path" : "/config/ruledb/action/bcc", | |
1083 | "text" : "bcc" | |
732d76e1 | 1084 | }, |
f245a28c DM |
1085 | { |
1086 | "children" : [ | |
1087 | { | |
1088 | "info" : { | |
1089 | "GET" : { | |
6bd70b95 | 1090 | "allowtoken" : 1, |
732d76e1 | 1091 | "description" : "Read 'Header Attribute' object settings.", |
f245a28c | 1092 | "method" : "GET", |
732d76e1 | 1093 | "name" : "read_field", |
f245a28c DM |
1094 | "parameters" : { |
1095 | "additionalProperties" : 0, | |
1096 | "properties" : { | |
732d76e1 DM |
1097 | "id" : { |
1098 | "description" : "Action Object ID.", | |
1099 | "pattern" : "\\d+_\\d+", | |
1100 | "type" : "string" | |
f245a28c DM |
1101 | } |
1102 | } | |
1103 | }, | |
732d76e1 DM |
1104 | "permissions" : { |
1105 | "check" : [ | |
1106 | "admin", | |
1107 | "audit" | |
1108 | ] | |
1109 | }, | |
f245a28c DM |
1110 | "proxyto" : "master", |
1111 | "returns" : { | |
1112 | "properties" : { | |
1113 | "id" : { | |
f245a28c DM |
1114 | "type" : "string" |
1115 | } | |
1116 | }, | |
1117 | "type" : "object" | |
1118 | } | |
1119 | }, | |
1120 | "PUT" : { | |
6bd70b95 | 1121 | "allowtoken" : 1, |
732d76e1 | 1122 | "description" : "Update 'Header Attribute' object.", |
f245a28c | 1123 | "method" : "PUT", |
732d76e1 | 1124 | "name" : "update_field", |
f245a28c DM |
1125 | "parameters" : { |
1126 | "additionalProperties" : 0, | |
1127 | "properties" : { | |
732d76e1 DM |
1128 | "field" : { |
1129 | "description" : "The Field", | |
1130 | "maxLength" : 1024, | |
1131 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
1132 | "type" : "string" | |
1133 | }, | |
1134 | "id" : { | |
1135 | "description" : "Action Object ID.", | |
1136 | "pattern" : "\\d+_\\d+", | |
1137 | "type" : "string" | |
1138 | }, | |
f245a28c DM |
1139 | "info" : { |
1140 | "description" : "Informational comment.", | |
1141 | "maxLength" : 255, | |
1142 | "optional" : 1, | |
1143 | "type" : "string", | |
1144 | "typetext" : "<string>" | |
1145 | }, | |
1146 | "name" : { | |
732d76e1 | 1147 | "description" : "Action name.", |
f245a28c DM |
1148 | "maxLength" : 255, |
1149 | "optional" : 1, | |
1150 | "type" : "string", | |
1151 | "typetext" : "<string>" | |
1152 | }, | |
732d76e1 DM |
1153 | "value" : { |
1154 | "description" : "The Value", | |
1155 | "maxLength" : 1024, | |
4a46ced6 DM |
1156 | "type" : "string", |
1157 | "typetext" : "<string>" | |
f245a28c DM |
1158 | } |
1159 | } | |
1160 | }, | |
732d76e1 DM |
1161 | "permissions" : { |
1162 | "check" : [ | |
1163 | "admin" | |
1164 | ] | |
1165 | }, | |
d7cd791b | 1166 | "protected" : 1, |
f245a28c DM |
1167 | "proxyto" : "master", |
1168 | "returns" : { | |
1169 | "type" : "null" | |
1170 | } | |
1171 | } | |
1172 | }, | |
1173 | "leaf" : 1, | |
732d76e1 DM |
1174 | "path" : "/config/ruledb/action/field/{id}", |
1175 | "text" : "{id}" | |
1176 | } | |
1177 | ], | |
1178 | "info" : { | |
1179 | "POST" : { | |
6bd70b95 | 1180 | "allowtoken" : 1, |
732d76e1 DM |
1181 | "description" : "Create 'Header Attribute' object.", |
1182 | "method" : "POST", | |
1183 | "name" : "field", | |
1184 | "parameters" : { | |
1185 | "additionalProperties" : 0, | |
1186 | "properties" : { | |
1187 | "field" : { | |
1188 | "description" : "The Field", | |
1189 | "maxLength" : 1024, | |
1190 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
1191 | "type" : "string" | |
1192 | }, | |
f245a28c | 1193 | "info" : { |
732d76e1 DM |
1194 | "description" : "Informational comment.", |
1195 | "maxLength" : 255, | |
1196 | "optional" : 1, | |
1197 | "type" : "string", | |
1198 | "typetext" : "<string>" | |
1199 | }, | |
1200 | "name" : { | |
1201 | "description" : "Action name.", | |
1202 | "maxLength" : 255, | |
1203 | "type" : "string", | |
1204 | "typetext" : "<string>" | |
1205 | }, | |
1206 | "value" : { | |
1207 | "description" : "The Value", | |
1208 | "maxLength" : 1024, | |
4a46ced6 DM |
1209 | "type" : "string", |
1210 | "typetext" : "<string>" | |
732d76e1 DM |
1211 | } |
1212 | } | |
1213 | }, | |
1214 | "permissions" : { | |
1215 | "check" : [ | |
1216 | "admin" | |
1217 | ] | |
1218 | }, | |
1219 | "protected" : 1, | |
1220 | "proxyto" : "master", | |
1221 | "returns" : { | |
1222 | "description" : "The object ID.", | |
1223 | "type" : "string" | |
1224 | } | |
1225 | } | |
1226 | }, | |
1227 | "leaf" : 0, | |
1228 | "path" : "/config/ruledb/action/field", | |
1229 | "text" : "field" | |
1230 | }, | |
1231 | { | |
1232 | "children" : [ | |
1233 | { | |
1234 | "info" : { | |
1235 | "GET" : { | |
6bd70b95 | 1236 | "allowtoken" : 1, |
732d76e1 DM |
1237 | "description" : "Read 'Notification' object settings.", |
1238 | "method" : "GET", | |
1239 | "name" : "read_notification", | |
1240 | "parameters" : { | |
1241 | "additionalProperties" : 0, | |
1242 | "properties" : { | |
1243 | "id" : { | |
1244 | "description" : "Action Object ID.", | |
1245 | "pattern" : "\\d+_\\d+", | |
1246 | "type" : "string" | |
1247 | } | |
1248 | } | |
1249 | }, | |
1250 | "permissions" : { | |
1251 | "check" : [ | |
1252 | "admin", | |
1253 | "audit" | |
1254 | ] | |
1255 | }, | |
1256 | "proxyto" : "master", | |
1257 | "returns" : { | |
1258 | "properties" : { | |
1259 | "id" : { | |
1260 | "type" : "string" | |
1261 | } | |
1262 | }, | |
1263 | "type" : "object" | |
1264 | } | |
1265 | }, | |
1266 | "PUT" : { | |
6bd70b95 | 1267 | "allowtoken" : 1, |
732d76e1 DM |
1268 | "description" : "Update 'Notification' object.", |
1269 | "method" : "PUT", | |
1270 | "name" : "update_notification", | |
1271 | "parameters" : { | |
1272 | "additionalProperties" : 0, | |
1273 | "properties" : { | |
1274 | "attach" : { | |
1275 | "default" : 0, | |
1276 | "description" : "Attach original E-Mail", | |
1277 | "optional" : 1, | |
1278 | "type" : "boolean", | |
1279 | "typetext" : "<boolean>" | |
1280 | }, | |
1281 | "body" : { | |
1282 | "description" : "The Notification Body", | |
1283 | "maxLength" : 2048, | |
1284 | "type" : "string", | |
1285 | "typetext" : "<string>" | |
1286 | }, | |
1287 | "id" : { | |
1288 | "description" : "Action Object ID.", | |
1289 | "pattern" : "\\d+_\\d+", | |
1290 | "type" : "string" | |
1291 | }, | |
1292 | "info" : { | |
1293 | "description" : "Informational comment.", | |
1294 | "maxLength" : 255, | |
1295 | "optional" : 1, | |
1296 | "type" : "string", | |
1297 | "typetext" : "<string>" | |
1298 | }, | |
1299 | "name" : { | |
1300 | "description" : "Action name.", | |
1301 | "maxLength" : 255, | |
1302 | "optional" : 1, | |
1303 | "type" : "string", | |
1304 | "typetext" : "<string>" | |
1305 | }, | |
1306 | "subject" : { | |
1307 | "description" : "The Notification subject", | |
1308 | "maxLength" : 100, | |
1309 | "type" : "string", | |
1310 | "typetext" : "<string>" | |
1311 | }, | |
1312 | "to" : { | |
1313 | "description" : "The Receiver E-Mail address", | |
1314 | "maxLength" : 200, | |
1315 | "type" : "string", | |
1316 | "typetext" : "<string>" | |
1317 | } | |
1318 | } | |
1319 | }, | |
1320 | "permissions" : { | |
1321 | "check" : [ | |
1322 | "admin" | |
1323 | ] | |
1324 | }, | |
1325 | "protected" : 1, | |
1326 | "proxyto" : "master", | |
1327 | "returns" : { | |
1328 | "type" : "null" | |
1329 | } | |
1330 | } | |
1331 | }, | |
1332 | "leaf" : 1, | |
1333 | "path" : "/config/ruledb/action/notification/{id}", | |
1334 | "text" : "{id}" | |
1335 | } | |
1336 | ], | |
1337 | "info" : { | |
1338 | "POST" : { | |
6bd70b95 | 1339 | "allowtoken" : 1, |
732d76e1 DM |
1340 | "description" : "Create 'Notification' object.", |
1341 | "method" : "POST", | |
1342 | "name" : "notification", | |
1343 | "parameters" : { | |
1344 | "additionalProperties" : 0, | |
1345 | "properties" : { | |
1346 | "attach" : { | |
1347 | "default" : 0, | |
1348 | "description" : "Attach original E-Mail", | |
1349 | "optional" : 1, | |
1350 | "type" : "boolean", | |
1351 | "typetext" : "<boolean>" | |
1352 | }, | |
1353 | "body" : { | |
1354 | "description" : "The Notification Body", | |
1355 | "maxLength" : 2048, | |
1356 | "type" : "string", | |
1357 | "typetext" : "<string>" | |
1358 | }, | |
1359 | "info" : { | |
1360 | "description" : "Informational comment.", | |
1361 | "maxLength" : 255, | |
1362 | "optional" : 1, | |
1363 | "type" : "string", | |
1364 | "typetext" : "<string>" | |
1365 | }, | |
1366 | "name" : { | |
1367 | "description" : "Action name.", | |
1368 | "maxLength" : 255, | |
1369 | "type" : "string", | |
1370 | "typetext" : "<string>" | |
1371 | }, | |
1372 | "subject" : { | |
1373 | "description" : "The Notification subject", | |
1374 | "maxLength" : 100, | |
1375 | "type" : "string", | |
1376 | "typetext" : "<string>" | |
1377 | }, | |
1378 | "to" : { | |
1379 | "description" : "The Receiver E-Mail address", | |
1380 | "maxLength" : 200, | |
1381 | "type" : "string", | |
1382 | "typetext" : "<string>" | |
1383 | } | |
1384 | } | |
1385 | }, | |
1386 | "permissions" : { | |
1387 | "check" : [ | |
1388 | "admin" | |
1389 | ] | |
1390 | }, | |
1391 | "protected" : 1, | |
1392 | "proxyto" : "master", | |
1393 | "returns" : { | |
1394 | "description" : "The object ID.", | |
1395 | "type" : "string" | |
1396 | } | |
1397 | } | |
1398 | }, | |
1399 | "leaf" : 0, | |
1400 | "path" : "/config/ruledb/action/notification", | |
1401 | "text" : "notification" | |
1402 | }, | |
1403 | { | |
1404 | "children" : [ | |
1405 | { | |
1406 | "info" : { | |
1407 | "GET" : { | |
6bd70b95 | 1408 | "allowtoken" : 1, |
732d76e1 DM |
1409 | "description" : "Read 'Disclaimer' object settings.", |
1410 | "method" : "GET", | |
1411 | "name" : "read_disclaimer", | |
1412 | "parameters" : { | |
1413 | "additionalProperties" : 0, | |
1414 | "properties" : { | |
1415 | "id" : { | |
1416 | "description" : "Action Object ID.", | |
1417 | "pattern" : "\\d+_\\d+", | |
1418 | "type" : "string" | |
1419 | } | |
1420 | } | |
1421 | }, | |
1422 | "permissions" : { | |
1423 | "check" : [ | |
1424 | "admin", | |
1425 | "audit" | |
1426 | ] | |
1427 | }, | |
1428 | "proxyto" : "master", | |
1429 | "returns" : { | |
1430 | "properties" : { | |
1431 | "id" : { | |
1432 | "type" : "string" | |
1433 | } | |
1434 | }, | |
1435 | "type" : "object" | |
1436 | } | |
1437 | }, | |
1438 | "PUT" : { | |
6bd70b95 | 1439 | "allowtoken" : 1, |
732d76e1 DM |
1440 | "description" : "Update 'Disclaimer' object.", |
1441 | "method" : "PUT", | |
1442 | "name" : "update_disclaimer", | |
1443 | "parameters" : { | |
1444 | "additionalProperties" : 0, | |
1445 | "properties" : { | |
1446 | "disclaimer" : { | |
1447 | "description" : "The Disclaimer", | |
1448 | "maxLength" : 2048, | |
1449 | "type" : "string", | |
1450 | "typetext" : "<string>" | |
1451 | }, | |
1452 | "id" : { | |
1453 | "description" : "Action Object ID.", | |
1454 | "pattern" : "\\d+_\\d+", | |
1455 | "type" : "string" | |
1456 | }, | |
1457 | "info" : { | |
1458 | "description" : "Informational comment.", | |
1459 | "maxLength" : 255, | |
1460 | "optional" : 1, | |
1461 | "type" : "string", | |
1462 | "typetext" : "<string>" | |
1463 | }, | |
1464 | "name" : { | |
1465 | "description" : "Action name.", | |
1466 | "maxLength" : 255, | |
1467 | "optional" : 1, | |
1468 | "type" : "string", | |
1469 | "typetext" : "<string>" | |
1470 | } | |
1471 | } | |
1472 | }, | |
1473 | "permissions" : { | |
1474 | "check" : [ | |
1475 | "admin" | |
1476 | ] | |
1477 | }, | |
1478 | "protected" : 1, | |
1479 | "proxyto" : "master", | |
1480 | "returns" : { | |
1481 | "type" : "null" | |
1482 | } | |
1483 | } | |
1484 | }, | |
1485 | "leaf" : 1, | |
1486 | "path" : "/config/ruledb/action/disclaimer/{id}", | |
1487 | "text" : "{id}" | |
1488 | } | |
1489 | ], | |
1490 | "info" : { | |
1491 | "POST" : { | |
6bd70b95 | 1492 | "allowtoken" : 1, |
732d76e1 DM |
1493 | "description" : "Create 'Disclaimer' object.", |
1494 | "method" : "POST", | |
1495 | "name" : "disclaimer", | |
1496 | "parameters" : { | |
1497 | "additionalProperties" : 0, | |
1498 | "properties" : { | |
1499 | "disclaimer" : { | |
1500 | "description" : "The Disclaimer", | |
1501 | "maxLength" : 2048, | |
1502 | "type" : "string", | |
1503 | "typetext" : "<string>" | |
1504 | }, | |
1505 | "info" : { | |
1506 | "description" : "Informational comment.", | |
1507 | "maxLength" : 255, | |
1508 | "optional" : 1, | |
1509 | "type" : "string", | |
1510 | "typetext" : "<string>" | |
1511 | }, | |
1512 | "name" : { | |
1513 | "description" : "Action name.", | |
1514 | "maxLength" : 255, | |
1515 | "type" : "string", | |
1516 | "typetext" : "<string>" | |
1517 | } | |
1518 | } | |
1519 | }, | |
1520 | "permissions" : { | |
1521 | "check" : [ | |
1522 | "admin" | |
1523 | ] | |
1524 | }, | |
1525 | "protected" : 1, | |
1526 | "proxyto" : "master", | |
1527 | "returns" : { | |
1528 | "description" : "The object ID.", | |
1529 | "type" : "string" | |
1530 | } | |
1531 | } | |
1532 | }, | |
1533 | "leaf" : 0, | |
1534 | "path" : "/config/ruledb/action/disclaimer", | |
1535 | "text" : "disclaimer" | |
1536 | }, | |
1537 | { | |
1538 | "children" : [ | |
1539 | { | |
1540 | "info" : { | |
1541 | "GET" : { | |
6bd70b95 | 1542 | "allowtoken" : 1, |
732d76e1 DM |
1543 | "description" : "Read 'Remove attachments' object settings.", |
1544 | "method" : "GET", | |
1545 | "name" : "read_removeattachments", | |
1546 | "parameters" : { | |
1547 | "additionalProperties" : 0, | |
1548 | "properties" : { | |
1549 | "id" : { | |
1550 | "description" : "Action Object ID.", | |
1551 | "pattern" : "\\d+_\\d+", | |
1552 | "type" : "string" | |
1553 | } | |
1554 | } | |
1555 | }, | |
1556 | "permissions" : { | |
1557 | "check" : [ | |
1558 | "admin", | |
1559 | "audit" | |
1560 | ] | |
1561 | }, | |
1562 | "proxyto" : "master", | |
1563 | "returns" : { | |
1564 | "properties" : { | |
1565 | "id" : { | |
1566 | "type" : "string" | |
1567 | } | |
1568 | }, | |
1569 | "type" : "object" | |
1570 | } | |
1571 | }, | |
1572 | "PUT" : { | |
6bd70b95 | 1573 | "allowtoken" : 1, |
732d76e1 DM |
1574 | "description" : "Update 'Remove attachments' object.", |
1575 | "method" : "PUT", | |
1576 | "name" : "update_removeattachments", | |
1577 | "parameters" : { | |
1578 | "additionalProperties" : 0, | |
1579 | "properties" : { | |
1580 | "all" : { | |
1581 | "description" : "Remove all attachments", | |
1582 | "optional" : 1, | |
1583 | "type" : "boolean", | |
1584 | "typetext" : "<boolean>" | |
1585 | }, | |
1586 | "id" : { | |
1587 | "description" : "Action Object ID.", | |
1588 | "pattern" : "\\d+_\\d+", | |
1589 | "type" : "string" | |
1590 | }, | |
1591 | "info" : { | |
1592 | "description" : "Informational comment.", | |
1593 | "maxLength" : 255, | |
1594 | "optional" : 1, | |
1595 | "type" : "string", | |
1596 | "typetext" : "<string>" | |
1597 | }, | |
1598 | "name" : { | |
1599 | "description" : "Action name.", | |
1600 | "maxLength" : 255, | |
1601 | "optional" : 1, | |
1602 | "type" : "string", | |
1603 | "typetext" : "<string>" | |
1604 | }, | |
d210277a TL |
1605 | "quarantine" : { |
1606 | "default" : 0, | |
1607 | "description" : "Copy original mail to attachment Quarantine.", | |
1608 | "optional" : 1, | |
1609 | "type" : "boolean", | |
1610 | "typetext" : "<boolean>" | |
1611 | }, | |
732d76e1 DM |
1612 | "text" : { |
1613 | "description" : "The replacement text.", | |
1614 | "maxLength" : 2048, | |
1615 | "type" : "string", | |
1616 | "typetext" : "<string>" | |
1617 | } | |
1618 | } | |
1619 | }, | |
1620 | "permissions" : { | |
1621 | "check" : [ | |
1622 | "admin" | |
1623 | ] | |
1624 | }, | |
1625 | "protected" : 1, | |
1626 | "proxyto" : "master", | |
1627 | "returns" : { | |
1628 | "type" : "null" | |
1629 | } | |
1630 | } | |
1631 | }, | |
1632 | "leaf" : 1, | |
1633 | "path" : "/config/ruledb/action/removeattachments/{id}", | |
1634 | "text" : "{id}" | |
1635 | } | |
1636 | ], | |
1637 | "info" : { | |
1638 | "POST" : { | |
6bd70b95 | 1639 | "allowtoken" : 1, |
732d76e1 DM |
1640 | "description" : "Create 'Remove attachments' object.", |
1641 | "method" : "POST", | |
1642 | "name" : "removeattachments", | |
1643 | "parameters" : { | |
1644 | "additionalProperties" : 0, | |
1645 | "properties" : { | |
1646 | "all" : { | |
1647 | "description" : "Remove all attachments", | |
1648 | "optional" : 1, | |
1649 | "type" : "boolean", | |
1650 | "typetext" : "<boolean>" | |
1651 | }, | |
1652 | "info" : { | |
1653 | "description" : "Informational comment.", | |
1654 | "maxLength" : 255, | |
1655 | "optional" : 1, | |
1656 | "type" : "string", | |
1657 | "typetext" : "<string>" | |
1658 | }, | |
1659 | "name" : { | |
1660 | "description" : "Action name.", | |
1661 | "maxLength" : 255, | |
1662 | "type" : "string", | |
1663 | "typetext" : "<string>" | |
1664 | }, | |
d210277a TL |
1665 | "quarantine" : { |
1666 | "default" : 0, | |
1667 | "description" : "Copy original mail to attachment Quarantine.", | |
1668 | "optional" : 1, | |
1669 | "type" : "boolean", | |
1670 | "typetext" : "<boolean>" | |
1671 | }, | |
732d76e1 DM |
1672 | "text" : { |
1673 | "description" : "The replacement text.", | |
1674 | "maxLength" : 2048, | |
1675 | "type" : "string", | |
1676 | "typetext" : "<string>" | |
1677 | } | |
1678 | } | |
1679 | }, | |
1680 | "permissions" : { | |
1681 | "check" : [ | |
1682 | "admin" | |
1683 | ] | |
1684 | }, | |
1685 | "protected" : 1, | |
1686 | "proxyto" : "master", | |
1687 | "returns" : { | |
1688 | "description" : "The object ID.", | |
1689 | "type" : "string" | |
1690 | } | |
1691 | } | |
1692 | }, | |
1693 | "leaf" : 0, | |
1694 | "path" : "/config/ruledb/action/removeattachments", | |
1695 | "text" : "removeattachments" | |
1696 | } | |
1697 | ], | |
1698 | "info" : { | |
1699 | "GET" : { | |
6bd70b95 | 1700 | "allowtoken" : 1, |
732d76e1 DM |
1701 | "description" : "Directory index.", |
1702 | "method" : "GET", | |
1703 | "name" : "index", | |
1704 | "parameters" : { | |
1705 | "additionalProperties" : 0 | |
1706 | }, | |
1707 | "permissions" : { | |
1708 | "check" : [ | |
1709 | "admin", | |
1710 | "audit" | |
1711 | ] | |
1712 | }, | |
1713 | "returns" : { | |
1714 | "items" : { | |
1715 | "properties" : { | |
1716 | "subdir" : { | |
1717 | "type" : "string" | |
1718 | } | |
1719 | }, | |
1720 | "type" : "object" | |
1721 | }, | |
1722 | "links" : [ | |
1723 | { | |
1724 | "href" : "{subdir}", | |
1725 | "rel" : "child" | |
1726 | } | |
1727 | ], | |
1728 | "type" : "array" | |
1729 | } | |
1730 | } | |
1731 | }, | |
1732 | "leaf" : 0, | |
1733 | "path" : "/config/ruledb/action", | |
1734 | "text" : "action" | |
1735 | }, | |
1736 | { | |
1737 | "children" : [ | |
1738 | { | |
1739 | "children" : [ | |
1740 | { | |
1741 | "info" : { | |
1742 | "GET" : { | |
6bd70b95 | 1743 | "allowtoken" : 1, |
732d76e1 DM |
1744 | "description" : "Get 'what' group properties", |
1745 | "method" : "GET", | |
1746 | "name" : "get_config", | |
1747 | "parameters" : { | |
1748 | "additionalProperties" : 0, | |
1749 | "properties" : { | |
1750 | "ogroup" : { | |
1751 | "description" : "Object Group ID.", | |
1752 | "type" : "integer", | |
1753 | "typetext" : "<integer>" | |
1754 | } | |
1755 | } | |
1756 | }, | |
1757 | "permissions" : { | |
1758 | "check" : [ | |
1759 | "admin", | |
1760 | "audit" | |
1761 | ] | |
1762 | }, | |
1763 | "proxyto" : "master", | |
1764 | "returns" : { | |
1765 | "properties" : { | |
1766 | "id" : { | |
1767 | "type" : "integer" | |
1768 | }, | |
1769 | "info" : { | |
1770 | "type" : "string" | |
1771 | }, | |
1772 | "name" : { | |
1773 | "type" : "string" | |
1774 | } | |
1775 | }, | |
1776 | "type" : "object" | |
1777 | } | |
1778 | }, | |
1779 | "PUT" : { | |
6bd70b95 | 1780 | "allowtoken" : 1, |
732d76e1 DM |
1781 | "description" : "Modify 'what' group properties", |
1782 | "method" : "PUT", | |
1783 | "name" : "set_config", | |
1784 | "parameters" : { | |
1785 | "additionalProperties" : 0, | |
1786 | "properties" : { | |
1787 | "info" : { | |
1788 | "description" : "Informational comment.", | |
1789 | "maxLength" : 255, | |
1790 | "optional" : 1, | |
1791 | "type" : "string", | |
1792 | "typetext" : "<string>" | |
1793 | }, | |
1794 | "name" : { | |
1795 | "description" : "Group name.", | |
1796 | "maxLength" : 255, | |
1797 | "optional" : 1, | |
1798 | "type" : "string", | |
1799 | "typetext" : "<string>" | |
1800 | }, | |
1801 | "ogroup" : { | |
1802 | "description" : "Object Group ID.", | |
1803 | "type" : "integer", | |
1804 | "typetext" : "<integer>" | |
1805 | } | |
1806 | } | |
1807 | }, | |
1808 | "permissions" : { | |
1809 | "check" : [ | |
1810 | "admin" | |
1811 | ] | |
1812 | }, | |
1813 | "protected" : 1, | |
1814 | "proxyto" : "master", | |
1815 | "returns" : { | |
1816 | "type" : "null" | |
1817 | } | |
1818 | } | |
1819 | }, | |
1820 | "leaf" : 1, | |
1821 | "path" : "/config/ruledb/what/{ogroup}/config", | |
1822 | "text" : "config" | |
1823 | }, | |
1824 | { | |
1825 | "children" : [ | |
1826 | { | |
1827 | "info" : { | |
1828 | "DELETE" : { | |
6bd70b95 | 1829 | "allowtoken" : 1, |
732d76e1 DM |
1830 | "description" : "Remove an object from the 'what' group.", |
1831 | "method" : "DELETE", | |
1832 | "name" : "delete_object", | |
1833 | "parameters" : { | |
1834 | "additionalProperties" : 0, | |
1835 | "properties" : { | |
1836 | "id" : { | |
1837 | "description" : "Object ID.", | |
1838 | "type" : "integer", | |
1839 | "typetext" : "<integer>" | |
1840 | }, | |
1841 | "ogroup" : { | |
1842 | "description" : "Object Group ID.", | |
1843 | "type" : "integer", | |
1844 | "typetext" : "<integer>" | |
1845 | } | |
1846 | } | |
1847 | }, | |
1848 | "permissions" : { | |
1849 | "check" : [ | |
1850 | "admin" | |
1851 | ] | |
1852 | }, | |
1853 | "protected" : 1, | |
1854 | "proxyto" : "master", | |
f245a28c DM |
1855 | "returns" : { |
1856 | "type" : "null" | |
1857 | } | |
1858 | } | |
1859 | }, | |
1860 | "leaf" : 1, | |
1861 | "path" : "/config/ruledb/what/{ogroup}/objects/{id}", | |
1862 | "text" : "{id}" | |
1863 | } | |
1864 | ], | |
1865 | "info" : { | |
1866 | "GET" : { | |
6bd70b95 | 1867 | "allowtoken" : 1, |
f245a28c DM |
1868 | "description" : "List 'what' group objects.", |
1869 | "method" : "GET", | |
1870 | "name" : "objects", | |
1871 | "parameters" : { | |
1872 | "additionalProperties" : 0, | |
1873 | "properties" : { | |
1874 | "ogroup" : { | |
1875 | "description" : "Object Group ID.", | |
1876 | "type" : "integer", | |
1877 | "typetext" : "<integer>" | |
1878 | } | |
1879 | } | |
1880 | }, | |
732d76e1 DM |
1881 | "permissions" : { |
1882 | "check" : [ | |
1883 | "admin", | |
1884 | "audit" | |
1885 | ] | |
1886 | }, | |
f245a28c DM |
1887 | "proxyto" : "master", |
1888 | "returns" : { | |
1889 | "items" : { | |
1890 | "properties" : { | |
1891 | "id" : { | |
1892 | "type" : "integer" | |
1893 | } | |
1894 | }, | |
1895 | "type" : "object" | |
1896 | }, | |
1897 | "links" : [ | |
1898 | { | |
1899 | "href" : "{id}", | |
1900 | "rel" : "child" | |
1901 | } | |
1902 | ], | |
1903 | "type" : "array" | |
1904 | } | |
1905 | } | |
1906 | }, | |
1907 | "leaf" : 0, | |
1908 | "path" : "/config/ruledb/what/{ogroup}/objects", | |
1909 | "text" : "objects" | |
f245a28c | 1910 | }, |
9fda36b0 DM |
1911 | { |
1912 | "children" : [ | |
1913 | { | |
1914 | "info" : { | |
1915 | "GET" : { | |
6bd70b95 | 1916 | "allowtoken" : 1, |
9fda36b0 DM |
1917 | "description" : "Read 'ContentType Filter' object settings.", |
1918 | "method" : "GET", | |
1919 | "name" : "read_contenttype", | |
1920 | "parameters" : { | |
1921 | "additionalProperties" : 0, | |
1922 | "properties" : { | |
1923 | "id" : { | |
1924 | "description" : "Object ID.", | |
1925 | "type" : "integer", | |
1926 | "typetext" : "<integer>" | |
1927 | }, | |
1928 | "ogroup" : { | |
1929 | "description" : "Object Groups ID.", | |
1930 | "type" : "integer", | |
1931 | "typetext" : "<integer>" | |
1932 | } | |
1933 | } | |
1934 | }, | |
c061d61d DM |
1935 | "permissions" : { |
1936 | "check" : [ | |
1937 | "admin", | |
1938 | "audit" | |
1939 | ] | |
1940 | }, | |
9fda36b0 DM |
1941 | "proxyto" : "master", |
1942 | "returns" : { | |
1943 | "properties" : { | |
1944 | "id" : { | |
1945 | "type" : "integer" | |
1946 | } | |
1947 | }, | |
1948 | "type" : "object" | |
1949 | } | |
1950 | }, | |
1951 | "PUT" : { | |
6bd70b95 | 1952 | "allowtoken" : 1, |
9fda36b0 DM |
1953 | "description" : "Update 'ContentType Filter' object.", |
1954 | "method" : "PUT", | |
1955 | "name" : "update_contenttype", | |
1956 | "parameters" : { | |
1957 | "additionalProperties" : 0, | |
1958 | "properties" : { | |
1959 | "contenttype" : { | |
1960 | "description" : "Content Type", | |
1961 | "maxLength" : 1024, | |
1962 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
1963 | "type" : "string" | |
1964 | }, | |
1965 | "id" : { | |
1966 | "description" : "Object ID.", | |
1967 | "type" : "integer", | |
1968 | "typetext" : "<integer>" | |
1969 | }, | |
1970 | "ogroup" : { | |
1971 | "description" : "Object Groups ID.", | |
1972 | "type" : "integer", | |
1973 | "typetext" : "<integer>" | |
1974 | } | |
1975 | } | |
1976 | }, | |
c061d61d DM |
1977 | "permissions" : { |
1978 | "check" : [ | |
1979 | "admin" | |
1980 | ] | |
1981 | }, | |
9fda36b0 DM |
1982 | "protected" : 1, |
1983 | "proxyto" : "master", | |
1984 | "returns" : { | |
1985 | "type" : "null" | |
1986 | } | |
f245a28c DM |
1987 | } |
1988 | }, | |
9fda36b0 DM |
1989 | "leaf" : 1, |
1990 | "path" : "/config/ruledb/what/{ogroup}/contenttype/{id}", | |
1991 | "text" : "{id}" | |
eff914dc | 1992 | } |
9fda36b0 | 1993 | ], |
f245a28c | 1994 | "info" : { |
9fda36b0 | 1995 | "POST" : { |
6bd70b95 | 1996 | "allowtoken" : 1, |
9fda36b0 DM |
1997 | "description" : "Add 'ContentType Filter' object.", |
1998 | "method" : "POST", | |
1999 | "name" : "contenttype", | |
f245a28c DM |
2000 | "parameters" : { |
2001 | "additionalProperties" : 0, | |
2002 | "properties" : { | |
9fda36b0 DM |
2003 | "contenttype" : { |
2004 | "description" : "Content Type", | |
2005 | "maxLength" : 1024, | |
2006 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
f245a28c | 2007 | "type" : "string" |
f245a28c DM |
2008 | }, |
2009 | "ogroup" : { | |
9fda36b0 | 2010 | "description" : "Object Groups ID.", |
f245a28c DM |
2011 | "type" : "integer", |
2012 | "typetext" : "<integer>" | |
2013 | } | |
2014 | } | |
2015 | }, | |
c061d61d DM |
2016 | "permissions" : { |
2017 | "check" : [ | |
2018 | "admin" | |
2019 | ] | |
2020 | }, | |
d7cd791b | 2021 | "protected" : 1, |
f245a28c DM |
2022 | "proxyto" : "master", |
2023 | "returns" : { | |
9fda36b0 DM |
2024 | "description" : "The object ID.", |
2025 | "type" : "integer" | |
f245a28c DM |
2026 | } |
2027 | } | |
2028 | }, | |
9fda36b0 DM |
2029 | "leaf" : 0, |
2030 | "path" : "/config/ruledb/what/{ogroup}/contenttype", | |
2031 | "text" : "contenttype" | |
f245a28c DM |
2032 | }, |
2033 | { | |
2034 | "children" : [ | |
2035 | { | |
2036 | "info" : { | |
9fda36b0 | 2037 | "GET" : { |
6bd70b95 | 2038 | "allowtoken" : 1, |
9fda36b0 DM |
2039 | "description" : "Read 'Match Field' object settings.", |
2040 | "method" : "GET", | |
2041 | "name" : "read_matchfield", | |
f245a28c DM |
2042 | "parameters" : { |
2043 | "additionalProperties" : 0, | |
2044 | "properties" : { | |
2045 | "id" : { | |
2046 | "description" : "Object ID.", | |
2047 | "type" : "integer", | |
2048 | "typetext" : "<integer>" | |
2049 | }, | |
2050 | "ogroup" : { | |
9fda36b0 | 2051 | "description" : "Object Groups ID.", |
f245a28c DM |
2052 | "type" : "integer", |
2053 | "typetext" : "<integer>" | |
2054 | } | |
2055 | } | |
2056 | }, | |
c061d61d DM |
2057 | "permissions" : { |
2058 | "check" : [ | |
2059 | "admin", | |
2060 | "audit" | |
2061 | ] | |
2062 | }, | |
f245a28c DM |
2063 | "proxyto" : "master", |
2064 | "returns" : { | |
9fda36b0 DM |
2065 | "properties" : { |
2066 | "id" : { | |
2067 | "type" : "integer" | |
2068 | } | |
2069 | }, | |
2070 | "type" : "object" | |
f245a28c | 2071 | } |
9fda36b0 DM |
2072 | }, |
2073 | "PUT" : { | |
6bd70b95 | 2074 | "allowtoken" : 1, |
9fda36b0 DM |
2075 | "description" : "Update 'Match Field' object.", |
2076 | "method" : "PUT", | |
2077 | "name" : "update_matchfield", | |
2078 | "parameters" : { | |
2079 | "additionalProperties" : 0, | |
2080 | "properties" : { | |
2081 | "field" : { | |
2082 | "description" : "The Field", | |
2083 | "maxLength" : 1024, | |
2084 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
2085 | "type" : "string" | |
2086 | }, | |
2087 | "id" : { | |
2088 | "description" : "Object ID.", | |
2089 | "type" : "integer", | |
2090 | "typetext" : "<integer>" | |
2091 | }, | |
2092 | "ogroup" : { | |
2093 | "description" : "Object Groups ID.", | |
2094 | "type" : "integer", | |
2095 | "typetext" : "<integer>" | |
2096 | }, | |
2097 | "value" : { | |
2098 | "description" : "The Value", | |
2099 | "maxLength" : 1024, | |
4a46ced6 DM |
2100 | "type" : "string", |
2101 | "typetext" : "<string>" | |
9fda36b0 DM |
2102 | } |
2103 | } | |
2104 | }, | |
c061d61d DM |
2105 | "permissions" : { |
2106 | "check" : [ | |
2107 | "admin" | |
2108 | ] | |
2109 | }, | |
9fda36b0 DM |
2110 | "protected" : 1, |
2111 | "proxyto" : "master", | |
2112 | "returns" : { | |
2113 | "type" : "null" | |
2114 | } | |
2115 | } | |
2116 | }, | |
2117 | "leaf" : 1, | |
2118 | "path" : "/config/ruledb/what/{ogroup}/matchfield/{id}", | |
2119 | "text" : "{id}" | |
2120 | } | |
2121 | ], | |
f245a28c | 2122 | "info" : { |
9fda36b0 | 2123 | "POST" : { |
6bd70b95 | 2124 | "allowtoken" : 1, |
9fda36b0 DM |
2125 | "description" : "Add 'Match Field' object.", |
2126 | "method" : "POST", | |
2127 | "name" : "matchfield", | |
f245a28c DM |
2128 | "parameters" : { |
2129 | "additionalProperties" : 0, | |
2130 | "properties" : { | |
9fda36b0 DM |
2131 | "field" : { |
2132 | "description" : "The Field", | |
2133 | "maxLength" : 1024, | |
2134 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
2135 | "type" : "string" | |
2136 | }, | |
f245a28c | 2137 | "ogroup" : { |
9fda36b0 | 2138 | "description" : "Object Groups ID.", |
f245a28c DM |
2139 | "type" : "integer", |
2140 | "typetext" : "<integer>" | |
9fda36b0 DM |
2141 | }, |
2142 | "value" : { | |
2143 | "description" : "The Value", | |
2144 | "maxLength" : 1024, | |
4a46ced6 DM |
2145 | "type" : "string", |
2146 | "typetext" : "<string>" | |
f245a28c DM |
2147 | } |
2148 | } | |
2149 | }, | |
c061d61d DM |
2150 | "permissions" : { |
2151 | "check" : [ | |
2152 | "admin" | |
2153 | ] | |
2154 | }, | |
9fda36b0 | 2155 | "protected" : 1, |
f245a28c DM |
2156 | "proxyto" : "master", |
2157 | "returns" : { | |
9fda36b0 DM |
2158 | "description" : "The object ID.", |
2159 | "type" : "integer" | |
f245a28c DM |
2160 | } |
2161 | } | |
2162 | }, | |
2163 | "leaf" : 0, | |
9fda36b0 DM |
2164 | "path" : "/config/ruledb/what/{ogroup}/matchfield", |
2165 | "text" : "matchfield" | |
f245a28c DM |
2166 | }, |
2167 | { | |
2168 | "children" : [ | |
2169 | { | |
2170 | "info" : { | |
2171 | "GET" : { | |
6bd70b95 | 2172 | "allowtoken" : 1, |
9fda36b0 | 2173 | "description" : "Read 'Spam Filter' object settings.", |
f245a28c | 2174 | "method" : "GET", |
9fda36b0 | 2175 | "name" : "read_spamfilter", |
f245a28c DM |
2176 | "parameters" : { |
2177 | "additionalProperties" : 0, | |
2178 | "properties" : { | |
2179 | "id" : { | |
2180 | "description" : "Object ID.", | |
2181 | "type" : "integer", | |
2182 | "typetext" : "<integer>" | |
2183 | }, | |
2184 | "ogroup" : { | |
2185 | "description" : "Object Groups ID.", | |
2186 | "type" : "integer", | |
2187 | "typetext" : "<integer>" | |
2188 | } | |
2189 | } | |
2190 | }, | |
c061d61d DM |
2191 | "permissions" : { |
2192 | "check" : [ | |
2193 | "admin", | |
2194 | "audit" | |
2195 | ] | |
2196 | }, | |
f245a28c DM |
2197 | "proxyto" : "master", |
2198 | "returns" : { | |
2199 | "properties" : { | |
2200 | "id" : { | |
2201 | "type" : "integer" | |
2202 | } | |
2203 | }, | |
2204 | "type" : "object" | |
2205 | } | |
2206 | }, | |
2207 | "PUT" : { | |
6bd70b95 | 2208 | "allowtoken" : 1, |
9fda36b0 | 2209 | "description" : "Update 'Spam Filter' object.", |
f245a28c | 2210 | "method" : "PUT", |
9fda36b0 | 2211 | "name" : "update_spamfilter", |
f245a28c DM |
2212 | "parameters" : { |
2213 | "additionalProperties" : 0, | |
2214 | "properties" : { | |
f245a28c DM |
2215 | "id" : { |
2216 | "description" : "Object ID.", | |
2217 | "type" : "integer", | |
2218 | "typetext" : "<integer>" | |
2219 | }, | |
2220 | "ogroup" : { | |
2221 | "description" : "Object Groups ID.", | |
2222 | "type" : "integer", | |
2223 | "typetext" : "<integer>" | |
2224 | }, | |
9fda36b0 DM |
2225 | "spamlevel" : { |
2226 | "description" : "Spam Level", | |
2227 | "minimum" : 0, | |
2228 | "type" : "integer", | |
2229 | "typetext" : "<integer> (0 - N)" | |
f245a28c DM |
2230 | } |
2231 | } | |
2232 | }, | |
c061d61d DM |
2233 | "permissions" : { |
2234 | "check" : [ | |
2235 | "admin" | |
2236 | ] | |
2237 | }, | |
a55e94a6 | 2238 | "protected" : 1, |
f245a28c DM |
2239 | "proxyto" : "master", |
2240 | "returns" : { | |
2241 | "type" : "null" | |
2242 | } | |
2243 | } | |
2244 | }, | |
2245 | "leaf" : 1, | |
9fda36b0 | 2246 | "path" : "/config/ruledb/what/{ogroup}/spamfilter/{id}", |
f245a28c DM |
2247 | "text" : "{id}" |
2248 | } | |
2249 | ], | |
2250 | "info" : { | |
2251 | "POST" : { | |
6bd70b95 | 2252 | "allowtoken" : 1, |
9fda36b0 | 2253 | "description" : "Add 'Spam Filter' object.", |
f245a28c | 2254 | "method" : "POST", |
9fda36b0 | 2255 | "name" : "spamfilter", |
f245a28c DM |
2256 | "parameters" : { |
2257 | "additionalProperties" : 0, | |
2258 | "properties" : { | |
f245a28c DM |
2259 | "ogroup" : { |
2260 | "description" : "Object Groups ID.", | |
2261 | "type" : "integer", | |
2262 | "typetext" : "<integer>" | |
2263 | }, | |
9fda36b0 DM |
2264 | "spamlevel" : { |
2265 | "description" : "Spam Level", | |
2266 | "minimum" : 0, | |
2267 | "type" : "integer", | |
2268 | "typetext" : "<integer> (0 - N)" | |
f245a28c DM |
2269 | } |
2270 | } | |
2271 | }, | |
c061d61d DM |
2272 | "permissions" : { |
2273 | "check" : [ | |
2274 | "admin" | |
2275 | ] | |
2276 | }, | |
a55e94a6 | 2277 | "protected" : 1, |
f245a28c DM |
2278 | "proxyto" : "master", |
2279 | "returns" : { | |
2280 | "description" : "The object ID.", | |
2281 | "type" : "integer" | |
2282 | } | |
2283 | } | |
2284 | }, | |
2285 | "leaf" : 0, | |
9fda36b0 DM |
2286 | "path" : "/config/ruledb/what/{ogroup}/spamfilter", |
2287 | "text" : "spamfilter" | |
410dc2c9 | 2288 | }, |
9fda36b0 DM |
2289 | { |
2290 | "children" : [ | |
2291 | { | |
2292 | "info" : { | |
2293 | "GET" : { | |
6bd70b95 | 2294 | "allowtoken" : 1, |
9fda36b0 DM |
2295 | "description" : "Read 'Archive Filter' object settings.", |
2296 | "method" : "GET", | |
2297 | "name" : "read_archivefilter", | |
2298 | "parameters" : { | |
2299 | "additionalProperties" : 0, | |
2300 | "properties" : { | |
2301 | "id" : { | |
2302 | "description" : "Object ID.", | |
2303 | "type" : "integer", | |
2304 | "typetext" : "<integer>" | |
2305 | }, | |
2306 | "ogroup" : { | |
2307 | "description" : "Object Groups ID.", | |
2308 | "type" : "integer", | |
2309 | "typetext" : "<integer>" | |
2310 | } | |
2311 | } | |
2312 | }, | |
c061d61d DM |
2313 | "permissions" : { |
2314 | "check" : [ | |
2315 | "admin", | |
2316 | "audit" | |
2317 | ] | |
2318 | }, | |
9fda36b0 DM |
2319 | "proxyto" : "master", |
2320 | "returns" : { | |
2321 | "properties" : { | |
2322 | "id" : { | |
2323 | "type" : "integer" | |
2324 | } | |
2325 | }, | |
2326 | "type" : "object" | |
2327 | } | |
2328 | }, | |
2329 | "PUT" : { | |
6bd70b95 | 2330 | "allowtoken" : 1, |
9fda36b0 DM |
2331 | "description" : "Update 'Archive Filter' object.", |
2332 | "method" : "PUT", | |
2333 | "name" : "update_archivefilter", | |
2334 | "parameters" : { | |
2335 | "additionalProperties" : 0, | |
2336 | "properties" : { | |
2337 | "contenttype" : { | |
2338 | "description" : "Content Type", | |
2339 | "maxLength" : 1024, | |
2340 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
2341 | "type" : "string" | |
2342 | }, | |
2343 | "id" : { | |
2344 | "description" : "Object ID.", | |
2345 | "type" : "integer", | |
2346 | "typetext" : "<integer>" | |
2347 | }, | |
2348 | "ogroup" : { | |
2349 | "description" : "Object Groups ID.", | |
2350 | "type" : "integer", | |
2351 | "typetext" : "<integer>" | |
2352 | } | |
2353 | } | |
2354 | }, | |
c061d61d DM |
2355 | "permissions" : { |
2356 | "check" : [ | |
2357 | "admin" | |
2358 | ] | |
2359 | }, | |
9fda36b0 DM |
2360 | "protected" : 1, |
2361 | "proxyto" : "master", | |
2362 | "returns" : { | |
2363 | "type" : "null" | |
2364 | } | |
2365 | } | |
2366 | }, | |
2367 | "leaf" : 1, | |
2368 | "path" : "/config/ruledb/what/{ogroup}/archivefilter/{id}", | |
2369 | "text" : "{id}" | |
f245a28c | 2370 | } |
9fda36b0 DM |
2371 | ], |
2372 | "info" : { | |
2373 | "POST" : { | |
6bd70b95 | 2374 | "allowtoken" : 1, |
9fda36b0 DM |
2375 | "description" : "Add 'Archive Filter' object.", |
2376 | "method" : "POST", | |
2377 | "name" : "archivefilter", | |
2378 | "parameters" : { | |
2379 | "additionalProperties" : 0, | |
2380 | "properties" : { | |
2381 | "contenttype" : { | |
2382 | "description" : "Content Type", | |
2383 | "maxLength" : 1024, | |
2384 | "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+", | |
2385 | "type" : "string" | |
2386 | }, | |
2387 | "ogroup" : { | |
2388 | "description" : "Object Groups ID.", | |
2389 | "type" : "integer", | |
2390 | "typetext" : "<integer>" | |
2391 | } | |
f245a28c DM |
2392 | } |
2393 | }, | |
c061d61d DM |
2394 | "permissions" : { |
2395 | "check" : [ | |
2396 | "admin" | |
2397 | ] | |
2398 | }, | |
9fda36b0 DM |
2399 | "protected" : 1, |
2400 | "proxyto" : "master", | |
2401 | "returns" : { | |
2402 | "description" : "The object ID.", | |
2403 | "type" : "integer" | |
f245a28c | 2404 | } |
eff914dc DM |
2405 | } |
2406 | }, | |
9fda36b0 | 2407 | "leaf" : 0, |
732d76e1 DM |
2408 | "path" : "/config/ruledb/what/{ogroup}/archivefilter", |
2409 | "text" : "archivefilter" | |
2410 | }, | |
2411 | { | |
2412 | "children" : [ | |
2413 | { | |
2414 | "info" : { | |
2415 | "GET" : { | |
6bd70b95 | 2416 | "allowtoken" : 1, |
732d76e1 DM |
2417 | "description" : "Read 'Match Filename' object settings.", |
2418 | "method" : "GET", | |
2419 | "name" : "read_filenamefilter", | |
2420 | "parameters" : { | |
2421 | "additionalProperties" : 0, | |
2422 | "properties" : { | |
2423 | "id" : { | |
2424 | "description" : "Object ID.", | |
2425 | "type" : "integer", | |
2426 | "typetext" : "<integer>" | |
2427 | }, | |
2428 | "ogroup" : { | |
2429 | "description" : "Object Groups ID.", | |
2430 | "type" : "integer", | |
2431 | "typetext" : "<integer>" | |
2432 | } | |
2433 | } | |
2434 | }, | |
c061d61d DM |
2435 | "permissions" : { |
2436 | "check" : [ | |
2437 | "admin", | |
2438 | "audit" | |
2439 | ] | |
2440 | }, | |
732d76e1 DM |
2441 | "proxyto" : "master", |
2442 | "returns" : { | |
2443 | "properties" : { | |
2444 | "id" : { | |
2445 | "type" : "integer" | |
2446 | } | |
2447 | }, | |
2448 | "type" : "object" | |
2449 | } | |
2450 | }, | |
2451 | "PUT" : { | |
6bd70b95 | 2452 | "allowtoken" : 1, |
732d76e1 DM |
2453 | "description" : "Update 'Match Filename' object.", |
2454 | "method" : "PUT", | |
2455 | "name" : "update_filenamefilter", | |
2456 | "parameters" : { | |
2457 | "additionalProperties" : 0, | |
2458 | "properties" : { | |
2459 | "filename" : { | |
2460 | "description" : "Filename filter", | |
2461 | "maxLength" : 1024, | |
2462 | "type" : "string", | |
2463 | "typetext" : "<string>" | |
2464 | }, | |
2465 | "id" : { | |
2466 | "description" : "Object ID.", | |
2467 | "type" : "integer", | |
2468 | "typetext" : "<integer>" | |
2469 | }, | |
2470 | "ogroup" : { | |
2471 | "description" : "Object Groups ID.", | |
2472 | "type" : "integer", | |
2473 | "typetext" : "<integer>" | |
2474 | } | |
2475 | } | |
2476 | }, | |
c061d61d DM |
2477 | "permissions" : { |
2478 | "check" : [ | |
2479 | "admin" | |
2480 | ] | |
2481 | }, | |
732d76e1 DM |
2482 | "protected" : 1, |
2483 | "proxyto" : "master", | |
2484 | "returns" : { | |
2485 | "type" : "null" | |
2486 | } | |
2487 | } | |
2488 | }, | |
2489 | "leaf" : 1, | |
2490 | "path" : "/config/ruledb/what/{ogroup}/filenamefilter/{id}", | |
2491 | "text" : "{id}" | |
2492 | } | |
2493 | ], | |
2494 | "info" : { | |
2495 | "POST" : { | |
6bd70b95 | 2496 | "allowtoken" : 1, |
732d76e1 DM |
2497 | "description" : "Add 'Match Filename' object.", |
2498 | "method" : "POST", | |
2499 | "name" : "filenamefilter", | |
2500 | "parameters" : { | |
2501 | "additionalProperties" : 0, | |
2502 | "properties" : { | |
2503 | "filename" : { | |
2504 | "description" : "Filename filter", | |
2505 | "maxLength" : 1024, | |
2506 | "type" : "string", | |
2507 | "typetext" : "<string>" | |
2508 | }, | |
2509 | "ogroup" : { | |
2510 | "description" : "Object Groups ID.", | |
2511 | "type" : "integer", | |
2512 | "typetext" : "<integer>" | |
2513 | } | |
2514 | } | |
2515 | }, | |
c061d61d DM |
2516 | "permissions" : { |
2517 | "check" : [ | |
2518 | "admin" | |
2519 | ] | |
2520 | }, | |
732d76e1 DM |
2521 | "protected" : 1, |
2522 | "proxyto" : "master", | |
2523 | "returns" : { | |
2524 | "description" : "The object ID.", | |
2525 | "type" : "integer" | |
2526 | } | |
2527 | } | |
2528 | }, | |
2529 | "leaf" : 0, | |
2530 | "path" : "/config/ruledb/what/{ogroup}/filenamefilter", | |
2531 | "text" : "filenamefilter" | |
410dc2c9 | 2532 | }, |
9fda36b0 DM |
2533 | { |
2534 | "children" : [ | |
2535 | { | |
2536 | "info" : { | |
2537 | "GET" : { | |
6bd70b95 | 2538 | "allowtoken" : 1, |
732d76e1 | 2539 | "description" : "Read 'Virus Filter' object settings.", |
9fda36b0 | 2540 | "method" : "GET", |
732d76e1 | 2541 | "name" : "read_virusfilter", |
9fda36b0 DM |
2542 | "parameters" : { |
2543 | "additionalProperties" : 0, | |
2544 | "properties" : { | |
2545 | "id" : { | |
2546 | "description" : "Object ID.", | |
2547 | "type" : "integer", | |
2548 | "typetext" : "<integer>" | |
2549 | }, | |
2550 | "ogroup" : { | |
2551 | "description" : "Object Groups ID.", | |
2552 | "type" : "integer", | |
2553 | "typetext" : "<integer>" | |
2554 | } | |
2555 | } | |
2556 | }, | |
c061d61d DM |
2557 | "permissions" : { |
2558 | "check" : [ | |
2559 | "admin", | |
2560 | "audit" | |
2561 | ] | |
2562 | }, | |
9fda36b0 DM |
2563 | "proxyto" : "master", |
2564 | "returns" : { | |
2565 | "properties" : { | |
2566 | "id" : { | |
2567 | "type" : "integer" | |
2568 | } | |
2569 | }, | |
2570 | "type" : "object" | |
2571 | } | |
2572 | }, | |
2573 | "PUT" : { | |
6bd70b95 | 2574 | "allowtoken" : 1, |
732d76e1 | 2575 | "description" : "Update 'Virus Filter' object.", |
9fda36b0 | 2576 | "method" : "PUT", |
732d76e1 | 2577 | "name" : "update_virusfilter", |
9fda36b0 DM |
2578 | "parameters" : { |
2579 | "additionalProperties" : 0, | |
2580 | "properties" : { | |
9fda36b0 DM |
2581 | "id" : { |
2582 | "description" : "Object ID.", | |
2583 | "type" : "integer", | |
2584 | "typetext" : "<integer>" | |
2585 | }, | |
2586 | "ogroup" : { | |
2587 | "description" : "Object Groups ID.", | |
2588 | "type" : "integer", | |
2589 | "typetext" : "<integer>" | |
2590 | } | |
2591 | } | |
2592 | }, | |
c061d61d DM |
2593 | "permissions" : { |
2594 | "check" : [ | |
2595 | "admin" | |
2596 | ] | |
2597 | }, | |
9fda36b0 DM |
2598 | "protected" : 1, |
2599 | "proxyto" : "master", | |
2600 | "returns" : { | |
2601 | "type" : "null" | |
2602 | } | |
2603 | } | |
2604 | }, | |
2605 | "leaf" : 1, | |
732d76e1 | 2606 | "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}", |
9fda36b0 DM |
2607 | "text" : "{id}" |
2608 | } | |
2609 | ], | |
2610 | "info" : { | |
2611 | "POST" : { | |
6bd70b95 | 2612 | "allowtoken" : 1, |
732d76e1 | 2613 | "description" : "Add 'Virus Filter' object.", |
9fda36b0 | 2614 | "method" : "POST", |
732d76e1 | 2615 | "name" : "virusfilter", |
9fda36b0 DM |
2616 | "parameters" : { |
2617 | "additionalProperties" : 0, | |
2618 | "properties" : { | |
9fda36b0 DM |
2619 | "ogroup" : { |
2620 | "description" : "Object Groups ID.", | |
2621 | "type" : "integer", | |
2622 | "typetext" : "<integer>" | |
2623 | } | |
2624 | } | |
2625 | }, | |
c061d61d DM |
2626 | "permissions" : { |
2627 | "check" : [ | |
2628 | "admin" | |
2629 | ] | |
2630 | }, | |
9fda36b0 DM |
2631 | "protected" : 1, |
2632 | "proxyto" : "master", | |
2633 | "returns" : { | |
2634 | "description" : "The object ID.", | |
2635 | "type" : "integer" | |
2636 | } | |
2637 | } | |
2638 | }, | |
2639 | "leaf" : 0, | |
732d76e1 DM |
2640 | "path" : "/config/ruledb/what/{ogroup}/virusfilter", |
2641 | "text" : "virusfilter" | |
549cfb68 TL |
2642 | }, |
2643 | { | |
2644 | "children" : [ | |
2645 | { | |
2646 | "info" : { | |
2647 | "GET" : { | |
2648 | "allowtoken" : 1, | |
2649 | "description" : "Read 'Match Archive Filename' object settings.", | |
2650 | "method" : "GET", | |
2651 | "name" : "read_archivefilenamefilter", | |
2652 | "parameters" : { | |
2653 | "additionalProperties" : 0, | |
2654 | "properties" : { | |
2655 | "id" : { | |
2656 | "description" : "Object ID.", | |
2657 | "type" : "integer", | |
2658 | "typetext" : "<integer>" | |
2659 | }, | |
2660 | "ogroup" : { | |
2661 | "description" : "Object Groups ID.", | |
2662 | "type" : "integer", | |
2663 | "typetext" : "<integer>" | |
2664 | } | |
2665 | } | |
2666 | }, | |
2667 | "permissions" : { | |
2668 | "check" : [ | |
2669 | "admin", | |
2670 | "audit" | |
2671 | ] | |
2672 | }, | |
2673 | "proxyto" : "master", | |
2674 | "returns" : { | |
2675 | "properties" : { | |
2676 | "id" : { | |
2677 | "type" : "integer" | |
2678 | } | |
2679 | }, | |
2680 | "type" : "object" | |
2681 | } | |
2682 | }, | |
2683 | "PUT" : { | |
2684 | "allowtoken" : 1, | |
2685 | "description" : "Update 'Match Archive Filename' object.", | |
2686 | "method" : "PUT", | |
2687 | "name" : "update_archivefilenamefilter", | |
2688 | "parameters" : { | |
2689 | "additionalProperties" : 0, | |
2690 | "properties" : { | |
2691 | "filename" : { | |
2692 | "description" : "Filename filter", | |
2693 | "maxLength" : 1024, | |
2694 | "type" : "string", | |
2695 | "typetext" : "<string>" | |
2696 | }, | |
2697 | "id" : { | |
2698 | "description" : "Object ID.", | |
2699 | "type" : "integer", | |
2700 | "typetext" : "<integer>" | |
2701 | }, | |
2702 | "ogroup" : { | |
2703 | "description" : "Object Groups ID.", | |
2704 | "type" : "integer", | |
2705 | "typetext" : "<integer>" | |
2706 | } | |
2707 | } | |
2708 | }, | |
2709 | "permissions" : { | |
2710 | "check" : [ | |
2711 | "admin" | |
2712 | ] | |
2713 | }, | |
2714 | "protected" : 1, | |
2715 | "proxyto" : "master", | |
2716 | "returns" : { | |
2717 | "type" : "null" | |
2718 | } | |
2719 | } | |
2720 | }, | |
2721 | "leaf" : 1, | |
2722 | "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter/{id}", | |
2723 | "text" : "{id}" | |
2724 | } | |
2725 | ], | |
2726 | "info" : { | |
2727 | "POST" : { | |
2728 | "allowtoken" : 1, | |
2729 | "description" : "Add 'Match Archive Filename' object.", | |
2730 | "method" : "POST", | |
2731 | "name" : "archivefilenamefilter", | |
2732 | "parameters" : { | |
2733 | "additionalProperties" : 0, | |
2734 | "properties" : { | |
2735 | "filename" : { | |
2736 | "description" : "Filename filter", | |
2737 | "maxLength" : 1024, | |
2738 | "type" : "string", | |
2739 | "typetext" : "<string>" | |
2740 | }, | |
2741 | "ogroup" : { | |
2742 | "description" : "Object Groups ID.", | |
2743 | "type" : "integer", | |
2744 | "typetext" : "<integer>" | |
2745 | } | |
2746 | } | |
2747 | }, | |
2748 | "permissions" : { | |
2749 | "check" : [ | |
2750 | "admin" | |
2751 | ] | |
2752 | }, | |
2753 | "protected" : 1, | |
2754 | "proxyto" : "master", | |
2755 | "returns" : { | |
2756 | "description" : "The object ID.", | |
2757 | "type" : "integer" | |
2758 | } | |
2759 | } | |
2760 | }, | |
2761 | "leaf" : 0, | |
2762 | "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter", | |
2763 | "text" : "archivefilenamefilter" | |
9fda36b0 DM |
2764 | } |
2765 | ], | |
2766 | "info" : { | |
2767 | "DELETE" : { | |
6bd70b95 | 2768 | "allowtoken" : 1, |
9fda36b0 DM |
2769 | "description" : "Delete a 'what' group.", |
2770 | "method" : "DELETE", | |
2771 | "name" : "delete_{$oclass}_group", | |
2772 | "parameters" : { | |
2773 | "additionalProperties" : 0, | |
2774 | "properties" : { | |
2775 | "ogroup" : { | |
2776 | "description" : "Object Group ID.", | |
2777 | "type" : "integer", | |
2778 | "typetext" : "<integer>" | |
2779 | } | |
2780 | } | |
2781 | }, | |
732d76e1 DM |
2782 | "permissions" : { |
2783 | "check" : [ | |
2784 | "admin" | |
2785 | ] | |
2786 | }, | |
9fda36b0 DM |
2787 | "protected" : 1, |
2788 | "proxyto" : "master", | |
2789 | "returns" : { | |
2790 | "type" : "null" | |
2791 | } | |
2792 | }, | |
2793 | "GET" : { | |
6bd70b95 | 2794 | "allowtoken" : 1, |
9fda36b0 DM |
2795 | "description" : "Directory index.", |
2796 | "method" : "GET", | |
2797 | "name" : "index", | |
2798 | "parameters" : { | |
2799 | "additionalProperties" : 0, | |
2800 | "properties" : { | |
2801 | "ogroup" : { | |
2802 | "description" : "Object Group ID.", | |
2803 | "type" : "integer", | |
2804 | "typetext" : "<integer>" | |
2805 | } | |
2806 | } | |
2807 | }, | |
732d76e1 DM |
2808 | "permissions" : { |
2809 | "check" : [ | |
2810 | "admin", | |
2811 | "audit" | |
2812 | ] | |
2813 | }, | |
9fda36b0 DM |
2814 | "returns" : { |
2815 | "items" : { | |
2816 | "properties" : { | |
2817 | "subdir" : { | |
2818 | "type" : "string" | |
2819 | } | |
2820 | }, | |
2821 | "type" : "object" | |
2822 | }, | |
2823 | "links" : [ | |
2824 | { | |
2825 | "href" : "{subdir}", | |
2826 | "rel" : "child" | |
2827 | } | |
2828 | ], | |
2829 | "type" : "array" | |
2830 | } | |
2831 | } | |
2832 | }, | |
2833 | "leaf" : 0, | |
2834 | "path" : "/config/ruledb/what/{ogroup}", | |
2835 | "text" : "{ogroup}" | |
2836 | } | |
2837 | ], | |
2838 | "info" : { | |
2839 | "GET" : { | |
6bd70b95 | 2840 | "allowtoken" : 1, |
9fda36b0 DM |
2841 | "description" : "Get list of 'what' groups.", |
2842 | "method" : "GET", | |
2843 | "name" : "list_what_groups", | |
2844 | "parameters" : { | |
2845 | "additionalProperties" : 0 | |
2846 | }, | |
732d76e1 DM |
2847 | "permissions" : { |
2848 | "check" : [ | |
2849 | "admin", | |
2850 | "audit" | |
2851 | ] | |
2852 | }, | |
9fda36b0 DM |
2853 | "proxyto" : "master", |
2854 | "returns" : { | |
2855 | "items" : { | |
2856 | "properties" : { | |
2857 | "id" : { | |
2858 | "type" : "integer" | |
2859 | } | |
2860 | }, | |
2861 | "type" : "object" | |
2862 | }, | |
2863 | "type" : "array" | |
2864 | } | |
2865 | }, | |
2866 | "POST" : { | |
6bd70b95 | 2867 | "allowtoken" : 1, |
9fda36b0 | 2868 | "description" : "Create a new 'what' group.", |
eff914dc | 2869 | "method" : "POST", |
9fda36b0 | 2870 | "name" : "create_what_group", |
eff914dc DM |
2871 | "parameters" : { |
2872 | "additionalProperties" : 0, | |
2873 | "properties" : { | |
2874 | "info" : { | |
2875 | "description" : "Informational comment.", | |
2876 | "maxLength" : 255, | |
2877 | "optional" : 1, | |
2878 | "type" : "string", | |
2879 | "typetext" : "<string>" | |
2880 | }, | |
2881 | "name" : { | |
2882 | "description" : "Group name.", | |
2883 | "maxLength" : 255, | |
2884 | "type" : "string", | |
2885 | "typetext" : "<string>" | |
2886 | } | |
2887 | } | |
2888 | }, | |
732d76e1 DM |
2889 | "permissions" : { |
2890 | "check" : [ | |
2891 | "admin" | |
2892 | ] | |
2893 | }, | |
eff914dc DM |
2894 | "protected" : 1, |
2895 | "proxyto" : "master", | |
2896 | "returns" : { | |
2897 | "type" : "integer" | |
2898 | } | |
410dc2c9 DM |
2899 | } |
2900 | }, | |
f245a28c | 2901 | "leaf" : 0, |
9fda36b0 DM |
2902 | "path" : "/config/ruledb/what", |
2903 | "text" : "what" | |
410dc2c9 DM |
2904 | }, |
2905 | { | |
f245a28c DM |
2906 | "children" : [ |
2907 | { | |
2908 | "children" : [ | |
2909 | { | |
eff914dc | 2910 | "info" : { |
f245a28c | 2911 | "GET" : { |
6bd70b95 | 2912 | "allowtoken" : 1, |
9fda36b0 | 2913 | "description" : "Get 'when' group properties", |
f245a28c DM |
2914 | "method" : "GET", |
2915 | "name" : "get_config", | |
2916 | "parameters" : { | |
2917 | "additionalProperties" : 0, | |
2918 | "properties" : { | |
2919 | "ogroup" : { | |
2920 | "description" : "Object Group ID.", | |
2921 | "type" : "integer", | |
2922 | "typetext" : "<integer>" | |
2923 | } | |
2924 | } | |
2925 | }, | |
732d76e1 DM |
2926 | "permissions" : { |
2927 | "check" : [ | |
2928 | "admin", | |
2929 | "audit" | |
2930 | ] | |
2931 | }, | |
f245a28c DM |
2932 | "proxyto" : "master", |
2933 | "returns" : { | |
2934 | "properties" : { | |
2935 | "id" : { | |
2936 | "type" : "integer" | |
2937 | }, | |
2938 | "info" : { | |
2939 | "type" : "string" | |
2940 | }, | |
2941 | "name" : { | |
2942 | "type" : "string" | |
2943 | } | |
2944 | }, | |
2945 | "type" : "object" | |
2946 | } | |
2947 | }, | |
2948 | "PUT" : { | |
6bd70b95 | 2949 | "allowtoken" : 1, |
9fda36b0 | 2950 | "description" : "Modify 'when' group properties", |
f245a28c DM |
2951 | "method" : "PUT", |
2952 | "name" : "set_config", | |
2953 | "parameters" : { | |
2954 | "additionalProperties" : 0, | |
2955 | "properties" : { | |
2956 | "info" : { | |
2957 | "description" : "Informational comment.", | |
2958 | "maxLength" : 255, | |
2959 | "optional" : 1, | |
2960 | "type" : "string", | |
2961 | "typetext" : "<string>" | |
2962 | }, | |
2963 | "name" : { | |
2964 | "description" : "Group name.", | |
2965 | "maxLength" : 255, | |
2966 | "optional" : 1, | |
2967 | "type" : "string", | |
2968 | "typetext" : "<string>" | |
2969 | }, | |
2970 | "ogroup" : { | |
2971 | "description" : "Object Group ID.", | |
2972 | "type" : "integer", | |
2973 | "typetext" : "<integer>" | |
2974 | } | |
2975 | } | |
2976 | }, | |
732d76e1 DM |
2977 | "permissions" : { |
2978 | "check" : [ | |
2979 | "admin" | |
2980 | ] | |
2981 | }, | |
d7cd791b | 2982 | "protected" : 1, |
f245a28c DM |
2983 | "proxyto" : "master", |
2984 | "returns" : { | |
2985 | "type" : "null" | |
2986 | } | |
2987 | } | |
eff914dc | 2988 | }, |
f245a28c | 2989 | "leaf" : 1, |
9fda36b0 | 2990 | "path" : "/config/ruledb/when/{ogroup}/config", |
f245a28c DM |
2991 | "text" : "config" |
2992 | }, | |
eff914dc DM |
2993 | { |
2994 | "children" : [ | |
2995 | { | |
2996 | "info" : { | |
2997 | "DELETE" : { | |
6bd70b95 | 2998 | "allowtoken" : 1, |
9fda36b0 | 2999 | "description" : "Remove an object from the 'when' group.", |
eff914dc DM |
3000 | "method" : "DELETE", |
3001 | "name" : "delete_object", | |
3002 | "parameters" : { | |
3003 | "additionalProperties" : 0, | |
3004 | "properties" : { | |
3005 | "id" : { | |
3006 | "description" : "Object ID.", | |
3007 | "type" : "integer", | |
3008 | "typetext" : "<integer>" | |
3009 | }, | |
3010 | "ogroup" : { | |
3011 | "description" : "Object Group ID.", | |
3012 | "type" : "integer", | |
3013 | "typetext" : "<integer>" | |
3014 | } | |
3015 | } | |
3016 | }, | |
732d76e1 DM |
3017 | "permissions" : { |
3018 | "check" : [ | |
3019 | "admin" | |
3020 | ] | |
3021 | }, | |
a55e94a6 | 3022 | "protected" : 1, |
eff914dc DM |
3023 | "proxyto" : "master", |
3024 | "returns" : { | |
3025 | "type" : "null" | |
3026 | } | |
3027 | } | |
3028 | }, | |
3029 | "leaf" : 1, | |
9fda36b0 | 3030 | "path" : "/config/ruledb/when/{ogroup}/objects/{id}", |
eff914dc DM |
3031 | "text" : "{id}" |
3032 | } | |
3033 | ], | |
3034 | "info" : { | |
3035 | "GET" : { | |
6bd70b95 | 3036 | "allowtoken" : 1, |
9fda36b0 | 3037 | "description" : "List 'when' group objects.", |
eff914dc DM |
3038 | "method" : "GET", |
3039 | "name" : "objects", | |
3040 | "parameters" : { | |
3041 | "additionalProperties" : 0, | |
3042 | "properties" : { | |
3043 | "ogroup" : { | |
3044 | "description" : "Object Group ID.", | |
3045 | "type" : "integer", | |
3046 | "typetext" : "<integer>" | |
3047 | } | |
3048 | } | |
3049 | }, | |
732d76e1 DM |
3050 | "permissions" : { |
3051 | "check" : [ | |
3052 | "admin", | |
3053 | "audit" | |
3054 | ] | |
3055 | }, | |
eff914dc DM |
3056 | "proxyto" : "master", |
3057 | "returns" : { | |
3058 | "items" : { | |
3059 | "properties" : { | |
3060 | "id" : { | |
3061 | "type" : "integer" | |
3062 | } | |
3063 | }, | |
3064 | "type" : "object" | |
3065 | }, | |
3066 | "links" : [ | |
3067 | { | |
3068 | "href" : "{id}", | |
3069 | "rel" : "child" | |
3070 | } | |
3071 | ], | |
3072 | "type" : "array" | |
3073 | } | |
3074 | } | |
3075 | }, | |
3076 | "leaf" : 0, | |
9fda36b0 | 3077 | "path" : "/config/ruledb/when/{ogroup}/objects", |
eff914dc DM |
3078 | "text" : "objects" |
3079 | }, | |
3080 | { | |
3081 | "children" : [ | |
3082 | { | |
3083 | "info" : { | |
3084 | "GET" : { | |
6bd70b95 | 3085 | "allowtoken" : 1, |
9fda36b0 | 3086 | "description" : "Read 'TimeFrame' object settings.", |
eff914dc | 3087 | "method" : "GET", |
9fda36b0 | 3088 | "name" : "read_timeframe", |
eff914dc DM |
3089 | "parameters" : { |
3090 | "additionalProperties" : 0, | |
3091 | "properties" : { | |
3092 | "id" : { | |
3093 | "description" : "Object ID.", | |
3094 | "type" : "integer", | |
3095 | "typetext" : "<integer>" | |
3096 | }, | |
3097 | "ogroup" : { | |
3098 | "description" : "Object Groups ID.", | |
3099 | "type" : "integer", | |
3100 | "typetext" : "<integer>" | |
3101 | } | |
3102 | } | |
3103 | }, | |
c061d61d DM |
3104 | "permissions" : { |
3105 | "check" : [ | |
3106 | "admin", | |
3107 | "audit" | |
3108 | ] | |
3109 | }, | |
eff914dc DM |
3110 | "proxyto" : "master", |
3111 | "returns" : { | |
3112 | "properties" : { | |
3113 | "id" : { | |
3114 | "type" : "integer" | |
3115 | } | |
3116 | }, | |
3117 | "type" : "object" | |
3118 | } | |
3119 | }, | |
3120 | "PUT" : { | |
6bd70b95 | 3121 | "allowtoken" : 1, |
9fda36b0 | 3122 | "description" : "Update 'TimeFrame' object.", |
eff914dc | 3123 | "method" : "PUT", |
9fda36b0 | 3124 | "name" : "update_timeframe", |
eff914dc DM |
3125 | "parameters" : { |
3126 | "additionalProperties" : 0, | |
3127 | "properties" : { | |
9fda36b0 DM |
3128 | "end" : { |
3129 | "description" : "End time in `H:i` format (00:00).", | |
3130 | "pattern" : "\\d?\\d:\\d?\\d", | |
3131 | "type" : "string" | |
eff914dc DM |
3132 | }, |
3133 | "id" : { | |
3134 | "description" : "Object ID.", | |
3135 | "type" : "integer", | |
3136 | "typetext" : "<integer>" | |
3137 | }, | |
3138 | "ogroup" : { | |
3139 | "description" : "Object Groups ID.", | |
3140 | "type" : "integer", | |
3141 | "typetext" : "<integer>" | |
9fda36b0 DM |
3142 | }, |
3143 | "start" : { | |
3144 | "description" : "Start time in `H:i` format (00:00).", | |
3145 | "pattern" : "\\d?\\d:\\d?\\d", | |
3146 | "type" : "string" | |
eff914dc DM |
3147 | } |
3148 | } | |
3149 | }, | |
c061d61d DM |
3150 | "permissions" : { |
3151 | "check" : [ | |
3152 | "admin" | |
3153 | ] | |
3154 | }, | |
a55e94a6 | 3155 | "protected" : 1, |
eff914dc DM |
3156 | "proxyto" : "master", |
3157 | "returns" : { | |
3158 | "type" : "null" | |
3159 | } | |
3160 | } | |
3161 | }, | |
3162 | "leaf" : 1, | |
9fda36b0 | 3163 | "path" : "/config/ruledb/when/{ogroup}/timeframe/{id}", |
eff914dc DM |
3164 | "text" : "{id}" |
3165 | } | |
3166 | ], | |
3167 | "info" : { | |
3168 | "POST" : { | |
6bd70b95 | 3169 | "allowtoken" : 1, |
9fda36b0 | 3170 | "description" : "Add 'TimeFrame' object.", |
eff914dc | 3171 | "method" : "POST", |
9fda36b0 | 3172 | "name" : "timeframe", |
eff914dc DM |
3173 | "parameters" : { |
3174 | "additionalProperties" : 0, | |
3175 | "properties" : { | |
9fda36b0 DM |
3176 | "end" : { |
3177 | "description" : "End time in `H:i` format (00:00).", | |
3178 | "pattern" : "\\d?\\d:\\d?\\d", | |
3179 | "type" : "string" | |
eff914dc DM |
3180 | }, |
3181 | "ogroup" : { | |
3182 | "description" : "Object Groups ID.", | |
3183 | "type" : "integer", | |
3184 | "typetext" : "<integer>" | |
9fda36b0 DM |
3185 | }, |
3186 | "start" : { | |
3187 | "description" : "Start time in `H:i` format (00:00).", | |
3188 | "pattern" : "\\d?\\d:\\d?\\d", | |
3189 | "type" : "string" | |
eff914dc DM |
3190 | } |
3191 | } | |
3192 | }, | |
c061d61d DM |
3193 | "permissions" : { |
3194 | "check" : [ | |
3195 | "admin" | |
3196 | ] | |
3197 | }, | |
a55e94a6 | 3198 | "protected" : 1, |
eff914dc DM |
3199 | "proxyto" : "master", |
3200 | "returns" : { | |
3201 | "description" : "The object ID.", | |
3202 | "type" : "integer" | |
3203 | } | |
3204 | } | |
3205 | }, | |
3206 | "leaf" : 0, | |
9fda36b0 DM |
3207 | "path" : "/config/ruledb/when/{ogroup}/timeframe", |
3208 | "text" : "timeframe" | |
3209 | } | |
3210 | ], | |
3211 | "info" : { | |
3212 | "DELETE" : { | |
6bd70b95 | 3213 | "allowtoken" : 1, |
9fda36b0 DM |
3214 | "description" : "Delete a 'when' group.", |
3215 | "method" : "DELETE", | |
3216 | "name" : "delete_{$oclass}_group", | |
3217 | "parameters" : { | |
3218 | "additionalProperties" : 0, | |
3219 | "properties" : { | |
3220 | "ogroup" : { | |
3221 | "description" : "Object Group ID.", | |
3222 | "type" : "integer", | |
3223 | "typetext" : "<integer>" | |
3224 | } | |
3225 | } | |
3226 | }, | |
732d76e1 DM |
3227 | "permissions" : { |
3228 | "check" : [ | |
3229 | "admin" | |
3230 | ] | |
3231 | }, | |
9fda36b0 DM |
3232 | "protected" : 1, |
3233 | "proxyto" : "master", | |
3234 | "returns" : { | |
3235 | "type" : "null" | |
3236 | } | |
3237 | }, | |
3238 | "GET" : { | |
6bd70b95 | 3239 | "allowtoken" : 1, |
9fda36b0 DM |
3240 | "description" : "Directory index.", |
3241 | "method" : "GET", | |
3242 | "name" : "index", | |
3243 | "parameters" : { | |
3244 | "additionalProperties" : 0, | |
3245 | "properties" : { | |
3246 | "ogroup" : { | |
3247 | "description" : "Object Group ID.", | |
3248 | "type" : "integer", | |
3249 | "typetext" : "<integer>" | |
3250 | } | |
3251 | } | |
3252 | }, | |
732d76e1 DM |
3253 | "permissions" : { |
3254 | "check" : [ | |
3255 | "admin", | |
3256 | "audit" | |
3257 | ] | |
3258 | }, | |
9fda36b0 DM |
3259 | "returns" : { |
3260 | "items" : { | |
3261 | "properties" : { | |
3262 | "subdir" : { | |
3263 | "type" : "string" | |
eff914dc DM |
3264 | } |
3265 | }, | |
9fda36b0 DM |
3266 | "type" : "object" |
3267 | }, | |
3268 | "links" : [ | |
3269 | { | |
3270 | "href" : "{subdir}", | |
3271 | "rel" : "child" | |
3272 | } | |
3273 | ], | |
3274 | "type" : "array" | |
3275 | } | |
3276 | } | |
3277 | }, | |
3278 | "leaf" : 0, | |
3279 | "path" : "/config/ruledb/when/{ogroup}", | |
3280 | "text" : "{ogroup}" | |
3281 | } | |
3282 | ], | |
3283 | "info" : { | |
3284 | "GET" : { | |
6bd70b95 | 3285 | "allowtoken" : 1, |
9fda36b0 DM |
3286 | "description" : "Get list of 'when' groups.", |
3287 | "method" : "GET", | |
3288 | "name" : "list_when_groups", | |
3289 | "parameters" : { | |
3290 | "additionalProperties" : 0 | |
3291 | }, | |
732d76e1 DM |
3292 | "permissions" : { |
3293 | "check" : [ | |
3294 | "admin", | |
3295 | "audit" | |
3296 | ] | |
3297 | }, | |
9fda36b0 DM |
3298 | "proxyto" : "master", |
3299 | "returns" : { | |
3300 | "items" : { | |
3301 | "properties" : { | |
3302 | "id" : { | |
3303 | "type" : "integer" | |
eff914dc | 3304 | } |
9fda36b0 DM |
3305 | }, |
3306 | "type" : "object" | |
3307 | }, | |
3308 | "type" : "array" | |
3309 | } | |
3310 | }, | |
3311 | "POST" : { | |
6bd70b95 | 3312 | "allowtoken" : 1, |
9fda36b0 DM |
3313 | "description" : "Create a new 'when' group.", |
3314 | "method" : "POST", | |
3315 | "name" : "create_when_group", | |
3316 | "parameters" : { | |
3317 | "additionalProperties" : 0, | |
3318 | "properties" : { | |
eff914dc | 3319 | "info" : { |
9fda36b0 DM |
3320 | "description" : "Informational comment.", |
3321 | "maxLength" : 255, | |
3322 | "optional" : 1, | |
3323 | "type" : "string", | |
3324 | "typetext" : "<string>" | |
3325 | }, | |
3326 | "name" : { | |
3327 | "description" : "Group name.", | |
3328 | "maxLength" : 255, | |
3329 | "type" : "string", | |
3330 | "typetext" : "<string>" | |
3331 | } | |
3332 | } | |
3333 | }, | |
732d76e1 DM |
3334 | "permissions" : { |
3335 | "check" : [ | |
3336 | "admin" | |
3337 | ] | |
3338 | }, | |
9fda36b0 DM |
3339 | "protected" : 1, |
3340 | "proxyto" : "master", | |
3341 | "returns" : { | |
3342 | "type" : "integer" | |
3343 | } | |
3344 | } | |
3345 | }, | |
3346 | "leaf" : 0, | |
3347 | "path" : "/config/ruledb/when", | |
3348 | "text" : "when" | |
3349 | }, | |
3350 | { | |
3351 | "children" : [ | |
3352 | { | |
3353 | "children" : [ | |
3354 | { | |
3355 | "info" : { | |
3356 | "GET" : { | |
6bd70b95 | 3357 | "allowtoken" : 1, |
9fda36b0 DM |
3358 | "description" : "Get 'who' group properties", |
3359 | "method" : "GET", | |
3360 | "name" : "get_config", | |
eff914dc DM |
3361 | "parameters" : { |
3362 | "additionalProperties" : 0, | |
3363 | "properties" : { | |
9fda36b0 DM |
3364 | "ogroup" : { |
3365 | "description" : "Object Group ID.", | |
3366 | "type" : "integer", | |
3367 | "typetext" : "<integer>" | |
3368 | } | |
3369 | } | |
3370 | }, | |
732d76e1 DM |
3371 | "permissions" : { |
3372 | "check" : [ | |
3373 | "admin", | |
3374 | "audit" | |
3375 | ] | |
3376 | }, | |
9fda36b0 DM |
3377 | "proxyto" : "master", |
3378 | "returns" : { | |
3379 | "properties" : { | |
3380 | "id" : { | |
3381 | "type" : "integer" | |
3382 | }, | |
3383 | "info" : { | |
3384 | "type" : "string" | |
3385 | }, | |
3386 | "name" : { | |
3387 | "type" : "string" | |
3388 | } | |
3389 | }, | |
3390 | "type" : "object" | |
3391 | } | |
3392 | }, | |
3393 | "PUT" : { | |
6bd70b95 | 3394 | "allowtoken" : 1, |
9fda36b0 DM |
3395 | "description" : "Modify 'who' group properties", |
3396 | "method" : "PUT", | |
3397 | "name" : "set_config", | |
3398 | "parameters" : { | |
3399 | "additionalProperties" : 0, | |
3400 | "properties" : { | |
3401 | "info" : { | |
3402 | "description" : "Informational comment.", | |
3403 | "maxLength" : 255, | |
3404 | "optional" : 1, | |
3405 | "type" : "string", | |
3406 | "typetext" : "<string>" | |
3407 | }, | |
3408 | "name" : { | |
3409 | "description" : "Group name.", | |
3410 | "maxLength" : 255, | |
3411 | "optional" : 1, | |
eff914dc DM |
3412 | "type" : "string", |
3413 | "typetext" : "<string>" | |
3414 | }, | |
3415 | "ogroup" : { | |
9fda36b0 | 3416 | "description" : "Object Group ID.", |
eff914dc DM |
3417 | "type" : "integer", |
3418 | "typetext" : "<integer>" | |
3419 | } | |
3420 | } | |
3421 | }, | |
732d76e1 DM |
3422 | "permissions" : { |
3423 | "check" : [ | |
3424 | "admin" | |
3425 | ] | |
3426 | }, | |
a55e94a6 | 3427 | "protected" : 1, |
eff914dc DM |
3428 | "proxyto" : "master", |
3429 | "returns" : { | |
9fda36b0 | 3430 | "type" : "null" |
eff914dc DM |
3431 | } |
3432 | } | |
3433 | }, | |
9fda36b0 DM |
3434 | "leaf" : 1, |
3435 | "path" : "/config/ruledb/who/{ogroup}/config", | |
3436 | "text" : "config" | |
eff914dc DM |
3437 | }, |
3438 | { | |
3439 | "children" : [ | |
3440 | { | |
3441 | "info" : { | |
9fda36b0 | 3442 | "DELETE" : { |
6bd70b95 | 3443 | "allowtoken" : 1, |
9fda36b0 DM |
3444 | "description" : "Remove an object from the 'who' group.", |
3445 | "method" : "DELETE", | |
3446 | "name" : "delete_object", | |
eff914dc DM |
3447 | "parameters" : { |
3448 | "additionalProperties" : 0, | |
3449 | "properties" : { | |
3450 | "id" : { | |
3451 | "description" : "Object ID.", | |
3452 | "type" : "integer", | |
3453 | "typetext" : "<integer>" | |
3454 | }, | |
3455 | "ogroup" : { | |
9fda36b0 | 3456 | "description" : "Object Group ID.", |
eff914dc DM |
3457 | "type" : "integer", |
3458 | "typetext" : "<integer>" | |
3459 | } | |
3460 | } | |
3461 | }, | |
732d76e1 DM |
3462 | "permissions" : { |
3463 | "check" : [ | |
3464 | "admin" | |
3465 | ] | |
3466 | }, | |
9fda36b0 | 3467 | "protected" : 1, |
eff914dc DM |
3468 | "proxyto" : "master", |
3469 | "returns" : { | |
9fda36b0 | 3470 | "type" : "null" |
eff914dc DM |
3471 | } |
3472 | } | |
3473 | }, | |
3474 | "leaf" : 1, | |
9fda36b0 | 3475 | "path" : "/config/ruledb/who/{ogroup}/objects/{id}", |
eff914dc DM |
3476 | "text" : "{id}" |
3477 | } | |
3478 | ], | |
3479 | "info" : { | |
9fda36b0 | 3480 | "GET" : { |
6bd70b95 | 3481 | "allowtoken" : 1, |
9fda36b0 DM |
3482 | "description" : "List 'who' group objects.", |
3483 | "method" : "GET", | |
3484 | "name" : "objects", | |
eff914dc DM |
3485 | "parameters" : { |
3486 | "additionalProperties" : 0, | |
3487 | "properties" : { | |
3488 | "ogroup" : { | |
9fda36b0 | 3489 | "description" : "Object Group ID.", |
eff914dc DM |
3490 | "type" : "integer", |
3491 | "typetext" : "<integer>" | |
eff914dc DM |
3492 | } |
3493 | } | |
3494 | }, | |
732d76e1 DM |
3495 | "permissions" : { |
3496 | "check" : [ | |
3497 | "admin", | |
3498 | "audit" | |
3499 | ] | |
3500 | }, | |
eff914dc DM |
3501 | "proxyto" : "master", |
3502 | "returns" : { | |
9fda36b0 DM |
3503 | "items" : { |
3504 | "properties" : { | |
3505 | "id" : { | |
3506 | "type" : "integer" | |
3507 | } | |
3508 | }, | |
3509 | "type" : "object" | |
3510 | }, | |
3511 | "links" : [ | |
3512 | { | |
3513 | "href" : "{id}", | |
3514 | "rel" : "child" | |
3515 | } | |
3516 | ], | |
3517 | "type" : "array" | |
eff914dc DM |
3518 | } |
3519 | } | |
3520 | }, | |
3521 | "leaf" : 0, | |
9fda36b0 DM |
3522 | "path" : "/config/ruledb/who/{ogroup}/objects", |
3523 | "text" : "objects" | |
eff914dc DM |
3524 | }, |
3525 | { | |
3526 | "children" : [ | |
3527 | { | |
3528 | "info" : { | |
3529 | "GET" : { | |
6bd70b95 | 3530 | "allowtoken" : 1, |
9fda36b0 | 3531 | "description" : "Read 'Mail address' object settings.", |
eff914dc | 3532 | "method" : "GET", |
9fda36b0 | 3533 | "name" : "read_email", |
eff914dc DM |
3534 | "parameters" : { |
3535 | "additionalProperties" : 0, | |
3536 | "properties" : { | |
3537 | "id" : { | |
3538 | "description" : "Object ID.", | |
3539 | "type" : "integer", | |
3540 | "typetext" : "<integer>" | |
3541 | }, | |
3542 | "ogroup" : { | |
3543 | "description" : "Object Groups ID.", | |
3544 | "type" : "integer", | |
3545 | "typetext" : "<integer>" | |
3546 | } | |
3547 | } | |
3548 | }, | |
c061d61d DM |
3549 | "permissions" : { |
3550 | "check" : [ | |
3551 | "admin", | |
3552 | "audit" | |
3553 | ] | |
3554 | }, | |
eff914dc DM |
3555 | "proxyto" : "master", |
3556 | "returns" : { | |
3557 | "properties" : { | |
3558 | "id" : { | |
3559 | "type" : "integer" | |
3560 | } | |
3561 | }, | |
3562 | "type" : "object" | |
3563 | } | |
3564 | }, | |
3565 | "PUT" : { | |
6bd70b95 | 3566 | "allowtoken" : 1, |
9fda36b0 | 3567 | "description" : "Update 'Mail address' object.", |
eff914dc | 3568 | "method" : "PUT", |
9fda36b0 | 3569 | "name" : "update_email", |
eff914dc DM |
3570 | "parameters" : { |
3571 | "additionalProperties" : 0, | |
3572 | "properties" : { | |
9fda36b0 DM |
3573 | "email" : { |
3574 | "description" : "Email address.", | |
3575 | "format" : "email", | |
3576 | "type" : "string", | |
3577 | "typetext" : "<string>" | |
3578 | }, | |
eff914dc DM |
3579 | "id" : { |
3580 | "description" : "Object ID.", | |
3581 | "type" : "integer", | |
3582 | "typetext" : "<integer>" | |
3583 | }, | |
eff914dc DM |
3584 | "ogroup" : { |
3585 | "description" : "Object Groups ID.", | |
3586 | "type" : "integer", | |
3587 | "typetext" : "<integer>" | |
3588 | } | |
3589 | } | |
3590 | }, | |
c061d61d DM |
3591 | "permissions" : { |
3592 | "check" : [ | |
3593 | "admin" | |
3594 | ] | |
3595 | }, | |
a55e94a6 | 3596 | "protected" : 1, |
eff914dc DM |
3597 | "proxyto" : "master", |
3598 | "returns" : { | |
3599 | "type" : "null" | |
3600 | } | |
3601 | } | |
3602 | }, | |
3603 | "leaf" : 1, | |
9fda36b0 | 3604 | "path" : "/config/ruledb/who/{ogroup}/email/{id}", |
eff914dc DM |
3605 | "text" : "{id}" |
3606 | } | |
3607 | ], | |
3608 | "info" : { | |
3609 | "POST" : { | |
6bd70b95 | 3610 | "allowtoken" : 1, |
9fda36b0 | 3611 | "description" : "Add 'Mail address' object.", |
eff914dc | 3612 | "method" : "POST", |
9fda36b0 | 3613 | "name" : "email", |
eff914dc DM |
3614 | "parameters" : { |
3615 | "additionalProperties" : 0, | |
3616 | "properties" : { | |
9fda36b0 DM |
3617 | "email" : { |
3618 | "description" : "Email address.", | |
3619 | "format" : "email", | |
eff914dc DM |
3620 | "type" : "string", |
3621 | "typetext" : "<string>" | |
3622 | }, | |
3623 | "ogroup" : { | |
3624 | "description" : "Object Groups ID.", | |
3625 | "type" : "integer", | |
3626 | "typetext" : "<integer>" | |
3627 | } | |
3628 | } | |
3629 | }, | |
c061d61d DM |
3630 | "permissions" : { |
3631 | "check" : [ | |
3632 | "admin" | |
3633 | ] | |
3634 | }, | |
a55e94a6 | 3635 | "protected" : 1, |
eff914dc DM |
3636 | "proxyto" : "master", |
3637 | "returns" : { | |
3638 | "description" : "The object ID.", | |
3639 | "type" : "integer" | |
3640 | } | |
3641 | } | |
3642 | }, | |
3643 | "leaf" : 0, | |
9fda36b0 DM |
3644 | "path" : "/config/ruledb/who/{ogroup}/email", |
3645 | "text" : "email" | |
eff914dc DM |
3646 | }, |
3647 | { | |
3648 | "children" : [ | |
3649 | { | |
3650 | "info" : { | |
3651 | "GET" : { | |
6bd70b95 | 3652 | "allowtoken" : 1, |
9fda36b0 | 3653 | "description" : "Read 'Domain' object settings.", |
eff914dc | 3654 | "method" : "GET", |
9fda36b0 | 3655 | "name" : "read_domain", |
eff914dc DM |
3656 | "parameters" : { |
3657 | "additionalProperties" : 0, | |
3658 | "properties" : { | |
3659 | "id" : { | |
3660 | "description" : "Object ID.", | |
3661 | "type" : "integer", | |
3662 | "typetext" : "<integer>" | |
3663 | }, | |
3664 | "ogroup" : { | |
3665 | "description" : "Object Groups ID.", | |
3666 | "type" : "integer", | |
3667 | "typetext" : "<integer>" | |
3668 | } | |
3669 | } | |
3670 | }, | |
c061d61d DM |
3671 | "permissions" : { |
3672 | "check" : [ | |
3673 | "admin", | |
3674 | "audit" | |
3675 | ] | |
3676 | }, | |
eff914dc DM |
3677 | "proxyto" : "master", |
3678 | "returns" : { | |
3679 | "properties" : { | |
3680 | "id" : { | |
3681 | "type" : "integer" | |
3682 | } | |
3683 | }, | |
3684 | "type" : "object" | |
3685 | } | |
3686 | }, | |
3687 | "PUT" : { | |
6bd70b95 | 3688 | "allowtoken" : 1, |
9fda36b0 | 3689 | "description" : "Update 'Domain' object.", |
eff914dc | 3690 | "method" : "PUT", |
9fda36b0 | 3691 | "name" : "update_domain", |
eff914dc DM |
3692 | "parameters" : { |
3693 | "additionalProperties" : 0, | |
3694 | "properties" : { | |
9fda36b0 DM |
3695 | "domain" : { |
3696 | "description" : "DNS domain name (Sender).", | |
3697 | "format" : "dns-name", | |
eff914dc DM |
3698 | "type" : "string", |
3699 | "typetext" : "<string>" | |
3700 | }, | |
3701 | "id" : { | |
3702 | "description" : "Object ID.", | |
3703 | "type" : "integer", | |
3704 | "typetext" : "<integer>" | |
3705 | }, | |
3706 | "ogroup" : { | |
3707 | "description" : "Object Groups ID.", | |
3708 | "type" : "integer", | |
3709 | "typetext" : "<integer>" | |
3710 | } | |
3711 | } | |
3712 | }, | |
c061d61d DM |
3713 | "permissions" : { |
3714 | "check" : [ | |
3715 | "admin" | |
3716 | ] | |
3717 | }, | |
a55e94a6 | 3718 | "protected" : 1, |
eff914dc DM |
3719 | "proxyto" : "master", |
3720 | "returns" : { | |
3721 | "type" : "null" | |
3722 | } | |
3723 | } | |
3724 | }, | |
3725 | "leaf" : 1, | |
9fda36b0 | 3726 | "path" : "/config/ruledb/who/{ogroup}/domain/{id}", |
eff914dc DM |
3727 | "text" : "{id}" |
3728 | } | |
3729 | ], | |
3730 | "info" : { | |
3731 | "POST" : { | |
6bd70b95 | 3732 | "allowtoken" : 1, |
9fda36b0 | 3733 | "description" : "Add 'Domain' object.", |
eff914dc | 3734 | "method" : "POST", |
9fda36b0 | 3735 | "name" : "domain", |
eff914dc DM |
3736 | "parameters" : { |
3737 | "additionalProperties" : 0, | |
3738 | "properties" : { | |
9fda36b0 DM |
3739 | "domain" : { |
3740 | "description" : "DNS domain name (Sender).", | |
3741 | "format" : "dns-name", | |
eff914dc DM |
3742 | "type" : "string", |
3743 | "typetext" : "<string>" | |
3744 | }, | |
3745 | "ogroup" : { | |
3746 | "description" : "Object Groups ID.", | |
3747 | "type" : "integer", | |
3748 | "typetext" : "<integer>" | |
3749 | } | |
3750 | } | |
3751 | }, | |
c061d61d DM |
3752 | "permissions" : { |
3753 | "check" : [ | |
3754 | "admin" | |
3755 | ] | |
3756 | }, | |
a55e94a6 | 3757 | "protected" : 1, |
eff914dc DM |
3758 | "proxyto" : "master", |
3759 | "returns" : { | |
3760 | "description" : "The object ID.", | |
3761 | "type" : "integer" | |
3762 | } | |
3763 | } | |
3764 | }, | |
3765 | "leaf" : 0, | |
9fda36b0 DM |
3766 | "path" : "/config/ruledb/who/{ogroup}/domain", |
3767 | "text" : "domain" | |
a55e94a6 DM |
3768 | }, |
3769 | { | |
3770 | "children" : [ | |
3771 | { | |
3772 | "info" : { | |
3773 | "GET" : { | |
6bd70b95 | 3774 | "allowtoken" : 1, |
9fda36b0 | 3775 | "description" : "Read 'Regular Expression' object settings.", |
a55e94a6 | 3776 | "method" : "GET", |
9fda36b0 | 3777 | "name" : "read_regex", |
a55e94a6 DM |
3778 | "parameters" : { |
3779 | "additionalProperties" : 0, | |
3780 | "properties" : { | |
3781 | "id" : { | |
3782 | "description" : "Object ID.", | |
3783 | "type" : "integer", | |
3784 | "typetext" : "<integer>" | |
3785 | }, | |
3786 | "ogroup" : { | |
3787 | "description" : "Object Groups ID.", | |
3788 | "type" : "integer", | |
3789 | "typetext" : "<integer>" | |
3790 | } | |
3791 | } | |
3792 | }, | |
c061d61d DM |
3793 | "permissions" : { |
3794 | "check" : [ | |
3795 | "admin", | |
3796 | "audit" | |
3797 | ] | |
3798 | }, | |
a55e94a6 DM |
3799 | "proxyto" : "master", |
3800 | "returns" : { | |
3801 | "properties" : { | |
3802 | "id" : { | |
3803 | "type" : "integer" | |
3804 | } | |
3805 | }, | |
3806 | "type" : "object" | |
3807 | } | |
3808 | }, | |
3809 | "PUT" : { | |
6bd70b95 | 3810 | "allowtoken" : 1, |
9fda36b0 | 3811 | "description" : "Update 'Regular Expression' object.", |
a55e94a6 | 3812 | "method" : "PUT", |
9fda36b0 | 3813 | "name" : "update_regex", |
a55e94a6 DM |
3814 | "parameters" : { |
3815 | "additionalProperties" : 0, | |
3816 | "properties" : { | |
a55e94a6 DM |
3817 | "id" : { |
3818 | "description" : "Object ID.", | |
3819 | "type" : "integer", | |
3820 | "typetext" : "<integer>" | |
3821 | }, | |
a55e94a6 DM |
3822 | "ogroup" : { |
3823 | "description" : "Object Groups ID.", | |
3824 | "type" : "integer", | |
3825 | "typetext" : "<integer>" | |
3826 | }, | |
9fda36b0 DM |
3827 | "regex" : { |
3828 | "description" : "Email address regular expression.", | |
3829 | "maxLength" : 1024, | |
a55e94a6 DM |
3830 | "type" : "string", |
3831 | "typetext" : "<string>" | |
3832 | } | |
3833 | } | |
3834 | }, | |
c061d61d DM |
3835 | "permissions" : { |
3836 | "check" : [ | |
3837 | "admin" | |
3838 | ] | |
3839 | }, | |
a55e94a6 DM |
3840 | "protected" : 1, |
3841 | "proxyto" : "master", | |
3842 | "returns" : { | |
3843 | "type" : "null" | |
3844 | } | |
3845 | } | |
3846 | }, | |
3847 | "leaf" : 1, | |
9fda36b0 | 3848 | "path" : "/config/ruledb/who/{ogroup}/regex/{id}", |
a55e94a6 DM |
3849 | "text" : "{id}" |
3850 | } | |
3851 | ], | |
3852 | "info" : { | |
3853 | "POST" : { | |
6bd70b95 | 3854 | "allowtoken" : 1, |
9fda36b0 | 3855 | "description" : "Add 'Regular Expression' object.", |
a55e94a6 | 3856 | "method" : "POST", |
9fda36b0 | 3857 | "name" : "regex", |
a55e94a6 DM |
3858 | "parameters" : { |
3859 | "additionalProperties" : 0, | |
3860 | "properties" : { | |
a55e94a6 DM |
3861 | "ogroup" : { |
3862 | "description" : "Object Groups ID.", | |
3863 | "type" : "integer", | |
3864 | "typetext" : "<integer>" | |
3865 | }, | |
9fda36b0 DM |
3866 | "regex" : { |
3867 | "description" : "Email address regular expression.", | |
3868 | "maxLength" : 1024, | |
a55e94a6 DM |
3869 | "type" : "string", |
3870 | "typetext" : "<string>" | |
3871 | } | |
3872 | } | |
3873 | }, | |
c061d61d DM |
3874 | "permissions" : { |
3875 | "check" : [ | |
3876 | "admin" | |
3877 | ] | |
3878 | }, | |
a55e94a6 DM |
3879 | "protected" : 1, |
3880 | "proxyto" : "master", | |
3881 | "returns" : { | |
3882 | "description" : "The object ID.", | |
3883 | "type" : "integer" | |
3884 | } | |
3885 | } | |
3886 | }, | |
3887 | "leaf" : 0, | |
9fda36b0 DM |
3888 | "path" : "/config/ruledb/who/{ogroup}/regex", |
3889 | "text" : "regex" | |
a55e94a6 DM |
3890 | }, |
3891 | { | |
3892 | "children" : [ | |
3893 | { | |
3894 | "info" : { | |
3895 | "GET" : { | |
6bd70b95 | 3896 | "allowtoken" : 1, |
9fda36b0 | 3897 | "description" : "Read 'IP Address' object settings.", |
a55e94a6 | 3898 | "method" : "GET", |
9fda36b0 | 3899 | "name" : "read_ip", |
a55e94a6 DM |
3900 | "parameters" : { |
3901 | "additionalProperties" : 0, | |
3902 | "properties" : { | |
3903 | "id" : { | |
3904 | "description" : "Object ID.", | |
3905 | "type" : "integer", | |
3906 | "typetext" : "<integer>" | |
3907 | }, | |
3908 | "ogroup" : { | |
3909 | "description" : "Object Groups ID.", | |
3910 | "type" : "integer", | |
3911 | "typetext" : "<integer>" | |
3912 | } | |
3913 | } | |
3914 | }, | |
c061d61d DM |
3915 | "permissions" : { |
3916 | "check" : [ | |
3917 | "admin", | |
3918 | "audit" | |
3919 | ] | |
3920 | }, | |
a55e94a6 DM |
3921 | "proxyto" : "master", |
3922 | "returns" : { | |
3923 | "properties" : { | |
3924 | "id" : { | |
3925 | "type" : "integer" | |
3926 | } | |
3927 | }, | |
3928 | "type" : "object" | |
3929 | } | |
3930 | }, | |
3931 | "PUT" : { | |
6bd70b95 | 3932 | "allowtoken" : 1, |
9fda36b0 | 3933 | "description" : "Update 'IP Address' object.", |
a55e94a6 | 3934 | "method" : "PUT", |
9fda36b0 | 3935 | "name" : "update_ip", |
a55e94a6 DM |
3936 | "parameters" : { |
3937 | "additionalProperties" : 0, | |
3938 | "properties" : { | |
a55e94a6 DM |
3939 | "id" : { |
3940 | "description" : "Object ID.", | |
3941 | "type" : "integer", | |
3942 | "typetext" : "<integer>" | |
3943 | }, | |
9fda36b0 DM |
3944 | "ip" : { |
3945 | "description" : "IP address", | |
3946 | "format" : "ip", | |
3947 | "type" : "string", | |
3948 | "typetext" : "<string>" | |
3949 | }, | |
a55e94a6 DM |
3950 | "ogroup" : { |
3951 | "description" : "Object Groups ID.", | |
3952 | "type" : "integer", | |
3953 | "typetext" : "<integer>" | |
a55e94a6 DM |
3954 | } |
3955 | } | |
3956 | }, | |
c061d61d DM |
3957 | "permissions" : { |
3958 | "check" : [ | |
3959 | "admin" | |
3960 | ] | |
3961 | }, | |
a55e94a6 DM |
3962 | "protected" : 1, |
3963 | "proxyto" : "master", | |
3964 | "returns" : { | |
3965 | "type" : "null" | |
3966 | } | |
3967 | } | |
3968 | }, | |
3969 | "leaf" : 1, | |
9fda36b0 | 3970 | "path" : "/config/ruledb/who/{ogroup}/ip/{id}", |
a55e94a6 DM |
3971 | "text" : "{id}" |
3972 | } | |
3973 | ], | |
3974 | "info" : { | |
3975 | "POST" : { | |
6bd70b95 | 3976 | "allowtoken" : 1, |
9fda36b0 | 3977 | "description" : "Add 'IP Address' object.", |
a55e94a6 | 3978 | "method" : "POST", |
9fda36b0 | 3979 | "name" : "ip", |
a55e94a6 DM |
3980 | "parameters" : { |
3981 | "additionalProperties" : 0, | |
3982 | "properties" : { | |
9fda36b0 DM |
3983 | "ip" : { |
3984 | "description" : "IP address", | |
3985 | "format" : "ip", | |
a55e94a6 DM |
3986 | "type" : "string", |
3987 | "typetext" : "<string>" | |
3988 | }, | |
3989 | "ogroup" : { | |
3990 | "description" : "Object Groups ID.", | |
3991 | "type" : "integer", | |
3992 | "typetext" : "<integer>" | |
a55e94a6 DM |
3993 | } |
3994 | } | |
3995 | }, | |
c061d61d DM |
3996 | "permissions" : { |
3997 | "check" : [ | |
3998 | "admin" | |
3999 | ] | |
4000 | }, | |
a55e94a6 DM |
4001 | "protected" : 1, |
4002 | "proxyto" : "master", | |
4003 | "returns" : { | |
4004 | "description" : "The object ID.", | |
4005 | "type" : "integer" | |
4006 | } | |
4007 | } | |
4008 | }, | |
4009 | "leaf" : 0, | |
9fda36b0 DM |
4010 | "path" : "/config/ruledb/who/{ogroup}/ip", |
4011 | "text" : "ip" | |
eff914dc | 4012 | }, |
9fda36b0 DM |
4013 | { |
4014 | "children" : [ | |
4015 | { | |
4016 | "info" : { | |
4017 | "GET" : { | |
6bd70b95 | 4018 | "allowtoken" : 1, |
9fda36b0 DM |
4019 | "description" : "Read 'IP Network' object settings.", |
4020 | "method" : "GET", | |
4021 | "name" : "read_network", | |
4022 | "parameters" : { | |
4023 | "additionalProperties" : 0, | |
4024 | "properties" : { | |
4025 | "id" : { | |
4026 | "description" : "Object ID.", | |
4027 | "type" : "integer", | |
4028 | "typetext" : "<integer>" | |
4029 | }, | |
4030 | "ogroup" : { | |
4031 | "description" : "Object Groups ID.", | |
4032 | "type" : "integer", | |
4033 | "typetext" : "<integer>" | |
4034 | } | |
4035 | } | |
4036 | }, | |
c061d61d DM |
4037 | "permissions" : { |
4038 | "check" : [ | |
4039 | "admin", | |
4040 | "audit" | |
4041 | ] | |
4042 | }, | |
9fda36b0 DM |
4043 | "proxyto" : "master", |
4044 | "returns" : { | |
4045 | "properties" : { | |
4046 | "id" : { | |
4047 | "type" : "integer" | |
4048 | } | |
4049 | }, | |
4050 | "type" : "object" | |
4051 | } | |
4052 | }, | |
4053 | "PUT" : { | |
6bd70b95 | 4054 | "allowtoken" : 1, |
9fda36b0 DM |
4055 | "description" : "Update 'IP Network' object.", |
4056 | "method" : "PUT", | |
4057 | "name" : "update_network", | |
4058 | "parameters" : { | |
4059 | "additionalProperties" : 0, | |
4060 | "properties" : { | |
4061 | "cidr" : { | |
4062 | "description" : "Network address in CIDR notation.", | |
4063 | "format" : "CIDR", | |
4064 | "type" : "string", | |
4065 | "typetext" : "<string>" | |
4066 | }, | |
4067 | "id" : { | |
4068 | "description" : "Object ID.", | |
4069 | "type" : "integer", | |
4070 | "typetext" : "<integer>" | |
4071 | }, | |
4072 | "ogroup" : { | |
4073 | "description" : "Object Groups ID.", | |
4074 | "type" : "integer", | |
4075 | "typetext" : "<integer>" | |
4076 | } | |
4077 | } | |
4078 | }, | |
c061d61d DM |
4079 | "permissions" : { |
4080 | "check" : [ | |
4081 | "admin" | |
4082 | ] | |
4083 | }, | |
9fda36b0 DM |
4084 | "protected" : 1, |
4085 | "proxyto" : "master", | |
4086 | "returns" : { | |
4087 | "type" : "null" | |
4088 | } | |
4089 | } | |
4090 | }, | |
4091 | "leaf" : 1, | |
4092 | "path" : "/config/ruledb/who/{ogroup}/network/{id}", | |
4093 | "text" : "{id}" | |
eff914dc | 4094 | } |
9fda36b0 DM |
4095 | ], |
4096 | "info" : { | |
4097 | "POST" : { | |
6bd70b95 | 4098 | "allowtoken" : 1, |
9fda36b0 DM |
4099 | "description" : "Add 'IP Network' object.", |
4100 | "method" : "POST", | |
4101 | "name" : "network", | |
4102 | "parameters" : { | |
4103 | "additionalProperties" : 0, | |
4104 | "properties" : { | |
4105 | "cidr" : { | |
4106 | "description" : "Network address in CIDR notation.", | |
4107 | "format" : "CIDR", | |
4108 | "type" : "string", | |
4109 | "typetext" : "<string>" | |
4110 | }, | |
4111 | "ogroup" : { | |
4112 | "description" : "Object Groups ID.", | |
4113 | "type" : "integer", | |
4114 | "typetext" : "<integer>" | |
4115 | } | |
eff914dc DM |
4116 | } |
4117 | }, | |
c061d61d DM |
4118 | "permissions" : { |
4119 | "check" : [ | |
4120 | "admin" | |
4121 | ] | |
4122 | }, | |
9fda36b0 DM |
4123 | "protected" : 1, |
4124 | "proxyto" : "master", | |
4125 | "returns" : { | |
4126 | "description" : "The object ID.", | |
4127 | "type" : "integer" | |
eff914dc | 4128 | } |
eff914dc DM |
4129 | } |
4130 | }, | |
9fda36b0 DM |
4131 | "leaf" : 0, |
4132 | "path" : "/config/ruledb/who/{ogroup}/network", | |
4133 | "text" : "network" | |
410dc2c9 | 4134 | }, |
9fda36b0 DM |
4135 | { |
4136 | "children" : [ | |
4137 | { | |
4138 | "info" : { | |
4139 | "GET" : { | |
6bd70b95 | 4140 | "allowtoken" : 1, |
9fda36b0 DM |
4141 | "description" : "Read 'LDAP Group' object settings.", |
4142 | "method" : "GET", | |
4143 | "name" : "read_ldap", | |
4144 | "parameters" : { | |
4145 | "additionalProperties" : 0, | |
4146 | "properties" : { | |
4147 | "id" : { | |
4148 | "description" : "Object ID.", | |
4149 | "type" : "integer", | |
4150 | "typetext" : "<integer>" | |
4151 | }, | |
4152 | "ogroup" : { | |
4153 | "description" : "Object Groups ID.", | |
4154 | "type" : "integer", | |
4155 | "typetext" : "<integer>" | |
4156 | } | |
4157 | } | |
4158 | }, | |
c061d61d DM |
4159 | "permissions" : { |
4160 | "check" : [ | |
4161 | "admin", | |
4162 | "audit" | |
4163 | ] | |
4164 | }, | |
9fda36b0 DM |
4165 | "proxyto" : "master", |
4166 | "returns" : { | |
4167 | "properties" : { | |
4168 | "id" : { | |
4169 | "type" : "integer" | |
4170 | } | |
4171 | }, | |
4172 | "type" : "object" | |
4173 | } | |
4174 | }, | |
4175 | "PUT" : { | |
6bd70b95 | 4176 | "allowtoken" : 1, |
9fda36b0 DM |
4177 | "description" : "Update 'LDAP Group' object.", |
4178 | "method" : "PUT", | |
4179 | "name" : "update_ldap", | |
4180 | "parameters" : { | |
4181 | "additionalProperties" : 0, | |
4182 | "properties" : { | |
4183 | "group" : { | |
4184 | "description" : "LDAP Group DN", | |
4185 | "maxLength" : 1024, | |
4186 | "minLength" : 1, | |
4187 | "optional" : 1, | |
4188 | "type" : "string", | |
4189 | "typetext" : "<string>" | |
4190 | }, | |
4191 | "id" : { | |
4192 | "description" : "Object ID.", | |
4193 | "type" : "integer", | |
4194 | "typetext" : "<integer>" | |
4195 | }, | |
4196 | "mode" : { | |
4197 | "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.", | |
4198 | "enum" : [ | |
4199 | "any", | |
4200 | "none", | |
4201 | "group" | |
4202 | ], | |
4203 | "type" : "string" | |
4204 | }, | |
4205 | "ogroup" : { | |
4206 | "description" : "Object Groups ID.", | |
4207 | "type" : "integer", | |
4208 | "typetext" : "<integer>" | |
4209 | }, | |
4210 | "profile" : { | |
4211 | "description" : "Profile ID.", | |
4212 | "format" : "pve-configid", | |
4213 | "optional" : 1, | |
4214 | "type" : "string", | |
4215 | "typetext" : "<string>" | |
4216 | } | |
4217 | } | |
4218 | }, | |
c061d61d DM |
4219 | "permissions" : { |
4220 | "check" : [ | |
4221 | "admin" | |
4222 | ] | |
4223 | }, | |
9fda36b0 DM |
4224 | "protected" : 1, |
4225 | "proxyto" : "master", | |
4226 | "returns" : { | |
4227 | "type" : "null" | |
4228 | } | |
4229 | } | |
4230 | }, | |
4231 | "leaf" : 1, | |
4232 | "path" : "/config/ruledb/who/{ogroup}/ldap/{id}", | |
4233 | "text" : "{id}" | |
4234 | } | |
4235 | ], | |
4236 | "info" : { | |
4237 | "POST" : { | |
6bd70b95 | 4238 | "allowtoken" : 1, |
9fda36b0 DM |
4239 | "description" : "Add 'LDAP Group' object.", |
4240 | "method" : "POST", | |
4241 | "name" : "ldap", | |
4242 | "parameters" : { | |
4243 | "additionalProperties" : 0, | |
4244 | "properties" : { | |
4245 | "group" : { | |
4246 | "description" : "LDAP Group DN", | |
4247 | "maxLength" : 1024, | |
4248 | "minLength" : 1, | |
4249 | "optional" : 1, | |
4250 | "type" : "string", | |
4251 | "typetext" : "<string>" | |
4252 | }, | |
4253 | "mode" : { | |
4254 | "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.", | |
4255 | "enum" : [ | |
4256 | "any", | |
4257 | "none", | |
4258 | "group" | |
4259 | ], | |
4260 | "type" : "string" | |
4261 | }, | |
4262 | "ogroup" : { | |
4263 | "description" : "Object Groups ID.", | |
4264 | "type" : "integer", | |
4265 | "typetext" : "<integer>" | |
4266 | }, | |
4267 | "profile" : { | |
4268 | "description" : "Profile ID.", | |
4269 | "format" : "pve-configid", | |
4270 | "optional" : 1, | |
4271 | "type" : "string", | |
4272 | "typetext" : "<string>" | |
4273 | } | |
4274 | } | |
4275 | }, | |
c061d61d DM |
4276 | "permissions" : { |
4277 | "check" : [ | |
4278 | "admin" | |
4279 | ] | |
4280 | }, | |
9fda36b0 DM |
4281 | "protected" : 1, |
4282 | "proxyto" : "master", | |
4283 | "returns" : { | |
4284 | "description" : "The object ID.", | |
4285 | "type" : "integer" | |
4286 | } | |
4287 | } | |
4288 | }, | |
4289 | "leaf" : 0, | |
4290 | "path" : "/config/ruledb/who/{ogroup}/ldap", | |
4291 | "text" : "ldap" | |
4292 | }, | |
4293 | { | |
4294 | "children" : [ | |
4295 | { | |
4296 | "info" : { | |
4297 | "GET" : { | |
6bd70b95 | 4298 | "allowtoken" : 1, |
9fda36b0 DM |
4299 | "description" : "Read 'LDAP User' object settings.", |
4300 | "method" : "GET", | |
4301 | "name" : "read_ldapuser", | |
4302 | "parameters" : { | |
4303 | "additionalProperties" : 0, | |
4304 | "properties" : { | |
4305 | "id" : { | |
4306 | "description" : "Object ID.", | |
4307 | "type" : "integer", | |
4308 | "typetext" : "<integer>" | |
4309 | }, | |
4310 | "ogroup" : { | |
4311 | "description" : "Object Groups ID.", | |
4312 | "type" : "integer", | |
4313 | "typetext" : "<integer>" | |
4314 | } | |
4315 | } | |
4316 | }, | |
c061d61d DM |
4317 | "permissions" : { |
4318 | "check" : [ | |
4319 | "admin", | |
4320 | "audit" | |
4321 | ] | |
4322 | }, | |
9fda36b0 DM |
4323 | "proxyto" : "master", |
4324 | "returns" : { | |
4325 | "properties" : { | |
4326 | "id" : { | |
4327 | "type" : "integer" | |
4328 | } | |
4329 | }, | |
4330 | "type" : "object" | |
4331 | } | |
4332 | }, | |
4333 | "PUT" : { | |
6bd70b95 | 4334 | "allowtoken" : 1, |
9fda36b0 DM |
4335 | "description" : "Update 'LDAP User' object.", |
4336 | "method" : "PUT", | |
4337 | "name" : "update_ldapuser", | |
4338 | "parameters" : { | |
4339 | "additionalProperties" : 0, | |
4340 | "properties" : { | |
4341 | "account" : { | |
4342 | "description" : "LDAP user account name.", | |
4343 | "maxLength" : 1024, | |
4344 | "minLength" : 1, | |
4345 | "type" : "string", | |
4346 | "typetext" : "<string>" | |
4347 | }, | |
4348 | "id" : { | |
4349 | "description" : "Object ID.", | |
4350 | "type" : "integer", | |
4351 | "typetext" : "<integer>" | |
4352 | }, | |
4353 | "ogroup" : { | |
4354 | "description" : "Object Groups ID.", | |
4355 | "type" : "integer", | |
4356 | "typetext" : "<integer>" | |
4357 | }, | |
4358 | "profile" : { | |
4359 | "description" : "Profile ID.", | |
4360 | "format" : "pve-configid", | |
4361 | "type" : "string", | |
4362 | "typetext" : "<string>" | |
4363 | } | |
4364 | } | |
4365 | }, | |
c061d61d DM |
4366 | "permissions" : { |
4367 | "check" : [ | |
4368 | "admin" | |
4369 | ] | |
4370 | }, | |
9fda36b0 DM |
4371 | "protected" : 1, |
4372 | "proxyto" : "master", | |
4373 | "returns" : { | |
4374 | "type" : "null" | |
4375 | } | |
4376 | } | |
4377 | }, | |
4378 | "leaf" : 1, | |
4379 | "path" : "/config/ruledb/who/{ogroup}/ldapuser/{id}", | |
4380 | "text" : "{id}" | |
4381 | } | |
4382 | ], | |
4383 | "info" : { | |
4384 | "POST" : { | |
6bd70b95 | 4385 | "allowtoken" : 1, |
9fda36b0 DM |
4386 | "description" : "Add 'LDAP User' object.", |
4387 | "method" : "POST", | |
4388 | "name" : "ldapuser", | |
4389 | "parameters" : { | |
4390 | "additionalProperties" : 0, | |
4391 | "properties" : { | |
4392 | "account" : { | |
4393 | "description" : "LDAP user account name.", | |
4394 | "maxLength" : 1024, | |
4395 | "minLength" : 1, | |
4396 | "type" : "string", | |
4397 | "typetext" : "<string>" | |
4398 | }, | |
4399 | "ogroup" : { | |
4400 | "description" : "Object Groups ID.", | |
4401 | "type" : "integer", | |
4402 | "typetext" : "<integer>" | |
4403 | }, | |
4404 | "profile" : { | |
4405 | "description" : "Profile ID.", | |
4406 | "format" : "pve-configid", | |
4407 | "type" : "string", | |
4408 | "typetext" : "<string>" | |
4409 | } | |
4410 | } | |
4411 | }, | |
c061d61d DM |
4412 | "permissions" : { |
4413 | "check" : [ | |
4414 | "admin" | |
4415 | ] | |
4416 | }, | |
9fda36b0 DM |
4417 | "protected" : 1, |
4418 | "proxyto" : "master", | |
4419 | "returns" : { | |
4420 | "description" : "The object ID.", | |
4421 | "type" : "integer" | |
4422 | } | |
4423 | } | |
4424 | }, | |
4425 | "leaf" : 0, | |
4426 | "path" : "/config/ruledb/who/{ogroup}/ldapuser", | |
4427 | "text" : "ldapuser" | |
4428 | } | |
4429 | ], | |
4430 | "info" : { | |
4431 | "DELETE" : { | |
6bd70b95 | 4432 | "allowtoken" : 1, |
9fda36b0 DM |
4433 | "description" : "Delete a 'who' group.", |
4434 | "method" : "DELETE", | |
4435 | "name" : "delete_{$oclass}_group", | |
4436 | "parameters" : { | |
4437 | "additionalProperties" : 0, | |
4438 | "properties" : { | |
4439 | "ogroup" : { | |
4440 | "description" : "Object Group ID.", | |
4441 | "type" : "integer", | |
4442 | "typetext" : "<integer>" | |
4443 | } | |
4444 | } | |
4445 | }, | |
732d76e1 DM |
4446 | "permissions" : { |
4447 | "check" : [ | |
4448 | "admin" | |
4449 | ] | |
4450 | }, | |
9fda36b0 DM |
4451 | "protected" : 1, |
4452 | "proxyto" : "master", | |
4453 | "returns" : { | |
4454 | "type" : "null" | |
4455 | } | |
4456 | }, | |
4457 | "GET" : { | |
6bd70b95 | 4458 | "allowtoken" : 1, |
9fda36b0 DM |
4459 | "description" : "Directory index.", |
4460 | "method" : "GET", | |
4461 | "name" : "index", | |
4462 | "parameters" : { | |
4463 | "additionalProperties" : 0, | |
4464 | "properties" : { | |
4465 | "ogroup" : { | |
4466 | "description" : "Object Group ID.", | |
4467 | "type" : "integer", | |
4468 | "typetext" : "<integer>" | |
4469 | } | |
4470 | } | |
4471 | }, | |
732d76e1 DM |
4472 | "permissions" : { |
4473 | "check" : [ | |
4474 | "admin", | |
4475 | "audit" | |
4476 | ] | |
4477 | }, | |
9fda36b0 DM |
4478 | "returns" : { |
4479 | "items" : { | |
4480 | "properties" : { | |
4481 | "subdir" : { | |
4482 | "type" : "string" | |
4483 | } | |
4484 | }, | |
4485 | "type" : "object" | |
4486 | }, | |
4487 | "links" : [ | |
4488 | { | |
4489 | "href" : "{subdir}", | |
4490 | "rel" : "child" | |
4491 | } | |
4492 | ], | |
4493 | "type" : "array" | |
4494 | } | |
4495 | } | |
4496 | }, | |
4497 | "leaf" : 0, | |
4498 | "path" : "/config/ruledb/who/{ogroup}", | |
4499 | "text" : "{ogroup}" | |
4500 | } | |
4501 | ], | |
4502 | "info" : { | |
4503 | "GET" : { | |
6bd70b95 | 4504 | "allowtoken" : 1, |
9fda36b0 DM |
4505 | "description" : "Get list of 'who' groups.", |
4506 | "method" : "GET", | |
4507 | "name" : "list_who_groups", | |
4508 | "parameters" : { | |
4509 | "additionalProperties" : 0 | |
4510 | }, | |
732d76e1 DM |
4511 | "permissions" : { |
4512 | "check" : [ | |
4513 | "admin", | |
4514 | "audit" | |
4515 | ] | |
4516 | }, | |
9fda36b0 DM |
4517 | "proxyto" : "master", |
4518 | "returns" : { | |
4519 | "items" : { | |
4520 | "properties" : { | |
4521 | "id" : { | |
4522 | "type" : "integer" | |
4523 | } | |
4524 | }, | |
4525 | "type" : "object" | |
4526 | }, | |
4527 | "type" : "array" | |
4528 | } | |
4529 | }, | |
4530 | "POST" : { | |
6bd70b95 | 4531 | "allowtoken" : 1, |
9fda36b0 DM |
4532 | "description" : "Create a new 'who' group.", |
4533 | "method" : "POST", | |
4534 | "name" : "create_who_group", | |
4535 | "parameters" : { | |
4536 | "additionalProperties" : 0, | |
4537 | "properties" : { | |
eff914dc DM |
4538 | "info" : { |
4539 | "description" : "Informational comment.", | |
4540 | "maxLength" : 255, | |
4541 | "optional" : 1, | |
4542 | "type" : "string", | |
4543 | "typetext" : "<string>" | |
4544 | }, | |
4545 | "name" : { | |
4546 | "description" : "Group name.", | |
4547 | "maxLength" : 255, | |
4548 | "type" : "string", | |
4549 | "typetext" : "<string>" | |
4550 | } | |
4551 | } | |
4552 | }, | |
732d76e1 DM |
4553 | "permissions" : { |
4554 | "check" : [ | |
4555 | "admin" | |
4556 | ] | |
4557 | }, | |
eff914dc DM |
4558 | "protected" : 1, |
4559 | "proxyto" : "master", | |
4560 | "returns" : { | |
4561 | "type" : "integer" | |
4562 | } | |
410dc2c9 DM |
4563 | } |
4564 | }, | |
eff914dc | 4565 | "leaf" : 0, |
410dc2c9 DM |
4566 | "path" : "/config/ruledb/who", |
4567 | "text" : "who" | |
4568 | } | |
4569 | ], | |
4570 | "info" : { | |
4571 | "GET" : { | |
6bd70b95 | 4572 | "allowtoken" : 1, |
410dc2c9 DM |
4573 | "description" : "Directory index.", |
4574 | "method" : "GET", | |
4575 | "name" : "index", | |
4576 | "parameters" : { | |
4577 | "additionalProperties" : 0 | |
4578 | }, | |
732d76e1 DM |
4579 | "permissions" : { |
4580 | "check" : [ | |
4581 | "admin", | |
4582 | "audit" | |
4583 | ] | |
4584 | }, | |
410dc2c9 DM |
4585 | "returns" : { |
4586 | "items" : { | |
4587 | "properties" : {}, | |
4588 | "type" : "object" | |
4589 | }, | |
4590 | "links" : [ | |
4591 | { | |
4592 | "href" : "{name}", | |
4593 | "rel" : "child" | |
4594 | } | |
4595 | ], | |
4596 | "type" : "array" | |
4597 | } | |
d7cd791b DM |
4598 | }, |
4599 | "POST" : { | |
6bd70b95 | 4600 | "allowtoken" : 1, |
d7cd791b DM |
4601 | "description" : "Reset PMG rule database back to factory defaults.", |
4602 | "method" : "POST", | |
4603 | "name" : "reset_ruledb", | |
4604 | "parameters" : { | |
4605 | "additionalProperties" : 0 | |
4606 | }, | |
4a46ced6 DM |
4607 | "permissions" : { |
4608 | "check" : [ | |
4609 | "admin" | |
4610 | ] | |
4611 | }, | |
d7cd791b DM |
4612 | "protected" : 1, |
4613 | "returns" : { | |
4614 | "type" : "null" | |
4615 | } | |
410dc2c9 DM |
4616 | } |
4617 | }, | |
4618 | "leaf" : 0, | |
4619 | "path" : "/config/ruledb", | |
4620 | "text" : "ruledb" | |
4621 | }, | |
4622 | { | |
4623 | "children" : [ | |
4624 | { | |
eff914dc DM |
4625 | "children" : [ |
4626 | { | |
4627 | "info" : { | |
4628 | "DELETE" : { | |
6bd70b95 | 4629 | "allowtoken" : 1, |
eff914dc DM |
4630 | "description" : "Remove an object from the SMTP whitelist.", |
4631 | "method" : "DELETE", | |
4632 | "name" : "delete_object", | |
4633 | "parameters" : { | |
4634 | "additionalProperties" : 0, | |
4635 | "properties" : { | |
4636 | "id" : { | |
4637 | "description" : "Object ID.", | |
4638 | "type" : "integer", | |
4639 | "typetext" : "<integer>" | |
4640 | } | |
4641 | } | |
4642 | }, | |
732d76e1 DM |
4643 | "permissions" : { |
4644 | "check" : [ | |
4645 | "admin" | |
4646 | ] | |
4647 | }, | |
bb6e6e0d | 4648 | "protected" : 1, |
eff914dc DM |
4649 | "proxyto" : "master", |
4650 | "returns" : { | |
4651 | "type" : "null" | |
4652 | } | |
4653 | } | |
4654 | }, | |
4655 | "leaf" : 1, | |
4656 | "path" : "/config/whitelist/objects/{id}", | |
4657 | "text" : "{id}" | |
4658 | } | |
4659 | ], | |
410dc2c9 | 4660 | "info" : { |
eff914dc | 4661 | "GET" : { |
6bd70b95 | 4662 | "allowtoken" : 1, |
eff914dc DM |
4663 | "description" : "Get list of all SMTP whitelist entries.", |
4664 | "method" : "GET", | |
4665 | "name" : "objects", | |
4666 | "parameters" : { | |
4667 | "additionalProperties" : 0 | |
4668 | }, | |
732d76e1 DM |
4669 | "permissions" : { |
4670 | "check" : [ | |
4671 | "admin", | |
4672 | "audit" | |
4673 | ] | |
4674 | }, | |
eff914dc DM |
4675 | "proxyto" : "master", |
4676 | "returns" : { | |
4677 | "items" : { | |
4678 | "properties" : { | |
4679 | "id" : { | |
4680 | "type" : "integer" | |
4681 | } | |
4682 | }, | |
4683 | "type" : "object" | |
4684 | }, | |
4685 | "links" : [ | |
4686 | { | |
4687 | "href" : "{id}", | |
4688 | "rel" : "child" | |
4689 | } | |
4690 | ], | |
4691 | "type" : "array" | |
4692 | } | |
4693 | } | |
4694 | }, | |
4695 | "leaf" : 0, | |
4696 | "path" : "/config/whitelist/objects", | |
4697 | "text" : "objects" | |
4698 | }, | |
4699 | { | |
4700 | "children" : [ | |
4701 | { | |
4702 | "info" : { | |
4703 | "GET" : { | |
6bd70b95 | 4704 | "allowtoken" : 1, |
eff914dc DM |
4705 | "description" : "Read 'Mail address' object settings.", |
4706 | "method" : "GET", | |
4707 | "name" : "read_email", | |
4708 | "parameters" : { | |
4709 | "additionalProperties" : 0, | |
4710 | "properties" : { | |
4711 | "id" : { | |
4712 | "description" : "Object ID.", | |
4713 | "type" : "integer", | |
4714 | "typetext" : "<integer>" | |
4715 | } | |
4716 | } | |
4717 | }, | |
c061d61d DM |
4718 | "permissions" : { |
4719 | "check" : [ | |
4720 | "admin", | |
4721 | "audit" | |
4722 | ] | |
4723 | }, | |
eff914dc DM |
4724 | "proxyto" : "master", |
4725 | "returns" : { | |
4726 | "properties" : { | |
4727 | "id" : { | |
4728 | "type" : "integer" | |
4729 | } | |
4730 | }, | |
4731 | "type" : "object" | |
4732 | } | |
4733 | }, | |
4734 | "PUT" : { | |
6bd70b95 | 4735 | "allowtoken" : 1, |
eff914dc DM |
4736 | "description" : "Update 'Mail address' object.", |
4737 | "method" : "PUT", | |
4738 | "name" : "update_email", | |
4739 | "parameters" : { | |
4740 | "additionalProperties" : 0, | |
4741 | "properties" : { | |
4742 | "email" : { | |
4743 | "description" : "Email address.", | |
4744 | "format" : "email", | |
4745 | "type" : "string", | |
4746 | "typetext" : "<string>" | |
4747 | }, | |
4748 | "id" : { | |
4749 | "description" : "Object ID.", | |
4750 | "type" : "integer", | |
4751 | "typetext" : "<integer>" | |
4752 | } | |
4753 | } | |
4754 | }, | |
c061d61d DM |
4755 | "permissions" : { |
4756 | "check" : [ | |
4757 | "admin" | |
4758 | ] | |
4759 | }, | |
a55e94a6 | 4760 | "protected" : 1, |
eff914dc DM |
4761 | "proxyto" : "master", |
4762 | "returns" : { | |
4763 | "type" : "null" | |
4764 | } | |
4765 | } | |
4766 | }, | |
4767 | "leaf" : 1, | |
4768 | "path" : "/config/whitelist/email/{id}", | |
4769 | "text" : "{id}" | |
4770 | } | |
4771 | ], | |
4772 | "info" : { | |
4773 | "POST" : { | |
6bd70b95 | 4774 | "allowtoken" : 1, |
eff914dc DM |
4775 | "description" : "Add 'Mail address' object.", |
4776 | "method" : "POST", | |
4777 | "name" : "email", | |
410dc2c9 DM |
4778 | "parameters" : { |
4779 | "additionalProperties" : 0, | |
4780 | "properties" : { | |
eff914dc DM |
4781 | "email" : { |
4782 | "description" : "Email address.", | |
4783 | "format" : "email", | |
410dc2c9 DM |
4784 | "type" : "string", |
4785 | "typetext" : "<string>" | |
4786 | } | |
4787 | } | |
4788 | }, | |
c061d61d DM |
4789 | "permissions" : { |
4790 | "check" : [ | |
4791 | "admin" | |
4792 | ] | |
4793 | }, | |
a55e94a6 | 4794 | "protected" : 1, |
410dc2c9 DM |
4795 | "proxyto" : "master", |
4796 | "returns" : { | |
eff914dc DM |
4797 | "description" : "The object ID.", |
4798 | "type" : "integer" | |
410dc2c9 | 4799 | } |
eff914dc DM |
4800 | } |
4801 | }, | |
4802 | "leaf" : 0, | |
4803 | "path" : "/config/whitelist/email", | |
4804 | "text" : "email" | |
4805 | }, | |
4806 | { | |
4807 | "children" : [ | |
4808 | { | |
4809 | "info" : { | |
4810 | "GET" : { | |
6bd70b95 | 4811 | "allowtoken" : 1, |
eff914dc DM |
4812 | "description" : "Read 'Mail address' object settings.", |
4813 | "method" : "GET", | |
4814 | "name" : "read_receiver", | |
4815 | "parameters" : { | |
4816 | "additionalProperties" : 0, | |
4817 | "properties" : { | |
4818 | "id" : { | |
4819 | "description" : "Object ID.", | |
4820 | "type" : "integer", | |
4821 | "typetext" : "<integer>" | |
4822 | } | |
4823 | } | |
4824 | }, | |
c061d61d DM |
4825 | "permissions" : { |
4826 | "check" : [ | |
4827 | "admin", | |
4828 | "audit" | |
4829 | ] | |
4830 | }, | |
eff914dc DM |
4831 | "proxyto" : "master", |
4832 | "returns" : { | |
4833 | "properties" : { | |
4834 | "id" : { | |
4835 | "type" : "integer" | |
4836 | } | |
4837 | }, | |
4838 | "type" : "object" | |
4839 | } | |
4840 | }, | |
4841 | "PUT" : { | |
6bd70b95 | 4842 | "allowtoken" : 1, |
eff914dc DM |
4843 | "description" : "Update 'Mail address' object.", |
4844 | "method" : "PUT", | |
4845 | "name" : "update_receiver", | |
4846 | "parameters" : { | |
4847 | "additionalProperties" : 0, | |
4848 | "properties" : { | |
4849 | "email" : { | |
4850 | "description" : "Email address.", | |
4851 | "format" : "email", | |
4852 | "type" : "string", | |
4853 | "typetext" : "<string>" | |
4854 | }, | |
4855 | "id" : { | |
4856 | "description" : "Object ID.", | |
4857 | "type" : "integer", | |
4858 | "typetext" : "<integer>" | |
4859 | } | |
4860 | } | |
4861 | }, | |
c061d61d DM |
4862 | "permissions" : { |
4863 | "check" : [ | |
4864 | "admin" | |
4865 | ] | |
4866 | }, | |
a55e94a6 | 4867 | "protected" : 1, |
eff914dc DM |
4868 | "proxyto" : "master", |
4869 | "returns" : { | |
4870 | "type" : "null" | |
4871 | } | |
4872 | } | |
4873 | }, | |
4874 | "leaf" : 1, | |
4875 | "path" : "/config/whitelist/receiver/{id}", | |
4876 | "text" : "{id}" | |
4877 | } | |
4878 | ], | |
4879 | "info" : { | |
4880 | "POST" : { | |
6bd70b95 | 4881 | "allowtoken" : 1, |
eff914dc DM |
4882 | "description" : "Add 'Mail address' object.", |
4883 | "method" : "POST", | |
4884 | "name" : "receiver", | |
410dc2c9 DM |
4885 | "parameters" : { |
4886 | "additionalProperties" : 0, | |
4887 | "properties" : { | |
eff914dc DM |
4888 | "email" : { |
4889 | "description" : "Email address.", | |
4890 | "format" : "email", | |
410dc2c9 DM |
4891 | "type" : "string", |
4892 | "typetext" : "<string>" | |
4893 | } | |
4894 | } | |
4895 | }, | |
c061d61d DM |
4896 | "permissions" : { |
4897 | "check" : [ | |
4898 | "admin" | |
4899 | ] | |
4900 | }, | |
a55e94a6 | 4901 | "protected" : 1, |
410dc2c9 | 4902 | "proxyto" : "master", |
eff914dc DM |
4903 | "returns" : { |
4904 | "description" : "The object ID.", | |
4905 | "type" : "integer" | |
4906 | } | |
4907 | } | |
4908 | }, | |
4909 | "leaf" : 0, | |
4910 | "path" : "/config/whitelist/receiver", | |
4911 | "text" : "receiver" | |
4912 | }, | |
4913 | { | |
4914 | "children" : [ | |
4915 | { | |
4916 | "info" : { | |
4917 | "GET" : { | |
6bd70b95 | 4918 | "allowtoken" : 1, |
eff914dc DM |
4919 | "description" : "Read 'Domain' object settings.", |
4920 | "method" : "GET", | |
4921 | "name" : "read_domain", | |
4922 | "parameters" : { | |
4923 | "additionalProperties" : 0, | |
4924 | "properties" : { | |
4925 | "id" : { | |
4926 | "description" : "Object ID.", | |
4927 | "type" : "integer", | |
4928 | "typetext" : "<integer>" | |
4929 | } | |
4930 | } | |
4931 | }, | |
c061d61d DM |
4932 | "permissions" : { |
4933 | "check" : [ | |
4934 | "admin", | |
4935 | "audit" | |
4936 | ] | |
4937 | }, | |
eff914dc DM |
4938 | "proxyto" : "master", |
4939 | "returns" : { | |
4940 | "properties" : { | |
4941 | "id" : { | |
4942 | "type" : "integer" | |
4943 | } | |
4944 | }, | |
4945 | "type" : "object" | |
4946 | } | |
4947 | }, | |
4948 | "PUT" : { | |
6bd70b95 | 4949 | "allowtoken" : 1, |
eff914dc DM |
4950 | "description" : "Update 'Domain' object.", |
4951 | "method" : "PUT", | |
4952 | "name" : "update_domain", | |
4953 | "parameters" : { | |
4954 | "additionalProperties" : 0, | |
4955 | "properties" : { | |
4956 | "domain" : { | |
4957 | "description" : "DNS domain name (Sender).", | |
4958 | "format" : "dns-name", | |
4959 | "type" : "string", | |
4960 | "typetext" : "<string>" | |
4961 | }, | |
4962 | "id" : { | |
4963 | "description" : "Object ID.", | |
4964 | "type" : "integer", | |
4965 | "typetext" : "<integer>" | |
4966 | } | |
4967 | } | |
4968 | }, | |
c061d61d DM |
4969 | "permissions" : { |
4970 | "check" : [ | |
4971 | "admin" | |
4972 | ] | |
4973 | }, | |
a55e94a6 | 4974 | "protected" : 1, |
eff914dc DM |
4975 | "proxyto" : "master", |
4976 | "returns" : { | |
4977 | "type" : "null" | |
4978 | } | |
4979 | } | |
4980 | }, | |
4981 | "leaf" : 1, | |
4982 | "path" : "/config/whitelist/domain/{id}", | |
4983 | "text" : "{id}" | |
4984 | } | |
4985 | ], | |
4986 | "info" : { | |
4987 | "POST" : { | |
6bd70b95 | 4988 | "allowtoken" : 1, |
eff914dc DM |
4989 | "description" : "Add 'Domain' object.", |
4990 | "method" : "POST", | |
4991 | "name" : "domain", | |
410dc2c9 DM |
4992 | "parameters" : { |
4993 | "additionalProperties" : 0, | |
4994 | "properties" : { | |
eff914dc DM |
4995 | "domain" : { |
4996 | "description" : "DNS domain name (Sender).", | |
4997 | "format" : "dns-name", | |
410dc2c9 DM |
4998 | "type" : "string", |
4999 | "typetext" : "<string>" | |
eff914dc DM |
5000 | } |
5001 | } | |
5002 | }, | |
c061d61d DM |
5003 | "permissions" : { |
5004 | "check" : [ | |
5005 | "admin" | |
5006 | ] | |
5007 | }, | |
a55e94a6 | 5008 | "protected" : 1, |
eff914dc DM |
5009 | "proxyto" : "master", |
5010 | "returns" : { | |
5011 | "description" : "The object ID.", | |
5012 | "type" : "integer" | |
5013 | } | |
5014 | } | |
5015 | }, | |
5016 | "leaf" : 0, | |
5017 | "path" : "/config/whitelist/domain", | |
5018 | "text" : "domain" | |
5019 | }, | |
5020 | { | |
5021 | "children" : [ | |
5022 | { | |
5023 | "info" : { | |
5024 | "GET" : { | |
6bd70b95 | 5025 | "allowtoken" : 1, |
eff914dc DM |
5026 | "description" : "Read 'Domain' object settings.", |
5027 | "method" : "GET", | |
5028 | "name" : "read_receiver_domain", | |
5029 | "parameters" : { | |
5030 | "additionalProperties" : 0, | |
5031 | "properties" : { | |
5032 | "id" : { | |
5033 | "description" : "Object ID.", | |
5034 | "type" : "integer", | |
5035 | "typetext" : "<integer>" | |
5036 | } | |
5037 | } | |
410dc2c9 | 5038 | }, |
c061d61d DM |
5039 | "permissions" : { |
5040 | "check" : [ | |
5041 | "admin", | |
5042 | "audit" | |
5043 | ] | |
5044 | }, | |
eff914dc DM |
5045 | "proxyto" : "master", |
5046 | "returns" : { | |
5047 | "properties" : { | |
5048 | "id" : { | |
5049 | "type" : "integer" | |
5050 | } | |
5051 | }, | |
5052 | "type" : "object" | |
5053 | } | |
5054 | }, | |
5055 | "PUT" : { | |
6bd70b95 | 5056 | "allowtoken" : 1, |
eff914dc DM |
5057 | "description" : "Update 'Domain' object.", |
5058 | "method" : "PUT", | |
5059 | "name" : "update_receiver_domain", | |
5060 | "parameters" : { | |
5061 | "additionalProperties" : 0, | |
5062 | "properties" : { | |
5063 | "domain" : { | |
5064 | "description" : "DNS domain name (Sender).", | |
5065 | "format" : "dns-name", | |
5066 | "type" : "string", | |
5067 | "typetext" : "<string>" | |
5068 | }, | |
5069 | "id" : { | |
5070 | "description" : "Object ID.", | |
5071 | "type" : "integer", | |
5072 | "typetext" : "<integer>" | |
5073 | } | |
5074 | } | |
410dc2c9 | 5075 | }, |
c061d61d DM |
5076 | "permissions" : { |
5077 | "check" : [ | |
5078 | "admin" | |
5079 | ] | |
5080 | }, | |
a55e94a6 | 5081 | "protected" : 1, |
eff914dc DM |
5082 | "proxyto" : "master", |
5083 | "returns" : { | |
5084 | "type" : "null" | |
5085 | } | |
5086 | } | |
5087 | }, | |
5088 | "leaf" : 1, | |
5089 | "path" : "/config/whitelist/receiver_domain/{id}", | |
5090 | "text" : "{id}" | |
5091 | } | |
5092 | ], | |
5093 | "info" : { | |
5094 | "POST" : { | |
6bd70b95 | 5095 | "allowtoken" : 1, |
eff914dc DM |
5096 | "description" : "Add 'Domain' object.", |
5097 | "method" : "POST", | |
5098 | "name" : "receiver_domain", | |
5099 | "parameters" : { | |
5100 | "additionalProperties" : 0, | |
5101 | "properties" : { | |
5102 | "domain" : { | |
5103 | "description" : "DNS domain name (Sender).", | |
5104 | "format" : "dns-name", | |
410dc2c9 DM |
5105 | "type" : "string", |
5106 | "typetext" : "<string>" | |
eff914dc DM |
5107 | } |
5108 | } | |
5109 | }, | |
c061d61d DM |
5110 | "permissions" : { |
5111 | "check" : [ | |
5112 | "admin" | |
5113 | ] | |
5114 | }, | |
a55e94a6 | 5115 | "protected" : 1, |
eff914dc DM |
5116 | "proxyto" : "master", |
5117 | "returns" : { | |
5118 | "description" : "The object ID.", | |
5119 | "type" : "integer" | |
5120 | } | |
5121 | } | |
5122 | }, | |
5123 | "leaf" : 0, | |
5124 | "path" : "/config/whitelist/receiver_domain", | |
5125 | "text" : "receiver_domain" | |
5126 | }, | |
5127 | { | |
5128 | "children" : [ | |
5129 | { | |
5130 | "info" : { | |
5131 | "GET" : { | |
6bd70b95 | 5132 | "allowtoken" : 1, |
eff914dc DM |
5133 | "description" : "Read 'Regular Expression' object settings.", |
5134 | "method" : "GET", | |
5135 | "name" : "read_regex", | |
5136 | "parameters" : { | |
5137 | "additionalProperties" : 0, | |
5138 | "properties" : { | |
5139 | "id" : { | |
5140 | "description" : "Object ID.", | |
5141 | "type" : "integer", | |
5142 | "typetext" : "<integer>" | |
5143 | } | |
5144 | } | |
410dc2c9 | 5145 | }, |
c061d61d DM |
5146 | "permissions" : { |
5147 | "check" : [ | |
5148 | "admin", | |
5149 | "audit" | |
5150 | ] | |
5151 | }, | |
eff914dc DM |
5152 | "proxyto" : "master", |
5153 | "returns" : { | |
5154 | "properties" : { | |
5155 | "id" : { | |
5156 | "type" : "integer" | |
5157 | } | |
5158 | }, | |
5159 | "type" : "object" | |
5160 | } | |
5161 | }, | |
5162 | "PUT" : { | |
6bd70b95 | 5163 | "allowtoken" : 1, |
eff914dc DM |
5164 | "description" : "Update 'Regular Expression' object.", |
5165 | "method" : "PUT", | |
5166 | "name" : "update_regex", | |
5167 | "parameters" : { | |
5168 | "additionalProperties" : 0, | |
5169 | "properties" : { | |
5170 | "id" : { | |
5171 | "description" : "Object ID.", | |
5172 | "type" : "integer", | |
5173 | "typetext" : "<integer>" | |
5174 | }, | |
5175 | "regex" : { | |
5176 | "description" : "Email address regular expression.", | |
5177 | "maxLength" : 1024, | |
5178 | "type" : "string", | |
5179 | "typetext" : "<string>" | |
5180 | } | |
5181 | } | |
5182 | }, | |
c061d61d DM |
5183 | "permissions" : { |
5184 | "check" : [ | |
5185 | "admin" | |
5186 | ] | |
5187 | }, | |
a55e94a6 | 5188 | "protected" : 1, |
eff914dc DM |
5189 | "proxyto" : "master", |
5190 | "returns" : { | |
5191 | "type" : "null" | |
5192 | } | |
5193 | } | |
5194 | }, | |
5195 | "leaf" : 1, | |
5196 | "path" : "/config/whitelist/regex/{id}", | |
5197 | "text" : "{id}" | |
5198 | } | |
5199 | ], | |
5200 | "info" : { | |
5201 | "POST" : { | |
6bd70b95 | 5202 | "allowtoken" : 1, |
eff914dc DM |
5203 | "description" : "Add 'Regular Expression' object.", |
5204 | "method" : "POST", | |
5205 | "name" : "regex", | |
5206 | "parameters" : { | |
5207 | "additionalProperties" : 0, | |
5208 | "properties" : { | |
5209 | "regex" : { | |
5210 | "description" : "Email address regular expression.", | |
5211 | "maxLength" : 1024, | |
410dc2c9 DM |
5212 | "type" : "string", |
5213 | "typetext" : "<string>" | |
eff914dc DM |
5214 | } |
5215 | } | |
5216 | }, | |
c061d61d DM |
5217 | "permissions" : { |
5218 | "check" : [ | |
5219 | "admin" | |
5220 | ] | |
5221 | }, | |
a55e94a6 | 5222 | "protected" : 1, |
eff914dc DM |
5223 | "proxyto" : "master", |
5224 | "returns" : { | |
5225 | "description" : "The object ID.", | |
5226 | "type" : "integer" | |
5227 | } | |
5228 | } | |
5229 | }, | |
5230 | "leaf" : 0, | |
5231 | "path" : "/config/whitelist/regex", | |
5232 | "text" : "regex" | |
5233 | }, | |
5234 | { | |
5235 | "children" : [ | |
5236 | { | |
5237 | "info" : { | |
5238 | "GET" : { | |
6bd70b95 | 5239 | "allowtoken" : 1, |
eff914dc DM |
5240 | "description" : "Read 'Regular Expression' object settings.", |
5241 | "method" : "GET", | |
5242 | "name" : "read_receiver_regex", | |
5243 | "parameters" : { | |
5244 | "additionalProperties" : 0, | |
5245 | "properties" : { | |
5246 | "id" : { | |
5247 | "description" : "Object ID.", | |
5248 | "type" : "integer", | |
5249 | "typetext" : "<integer>" | |
5250 | } | |
5251 | } | |
5252 | }, | |
c061d61d DM |
5253 | "permissions" : { |
5254 | "check" : [ | |
5255 | "admin", | |
5256 | "audit" | |
5257 | ] | |
5258 | }, | |
eff914dc DM |
5259 | "proxyto" : "master", |
5260 | "returns" : { | |
5261 | "properties" : { | |
5262 | "id" : { | |
5263 | "type" : "integer" | |
5264 | } | |
5265 | }, | |
5266 | "type" : "object" | |
5267 | } | |
5268 | }, | |
5269 | "PUT" : { | |
6bd70b95 | 5270 | "allowtoken" : 1, |
eff914dc DM |
5271 | "description" : "Update 'Regular Expression' object.", |
5272 | "method" : "PUT", | |
5273 | "name" : "update_receiver_regex", | |
5274 | "parameters" : { | |
5275 | "additionalProperties" : 0, | |
5276 | "properties" : { | |
5277 | "id" : { | |
5278 | "description" : "Object ID.", | |
5279 | "type" : "integer", | |
5280 | "typetext" : "<integer>" | |
5281 | }, | |
5282 | "regex" : { | |
5283 | "description" : "Email address regular expression.", | |
5284 | "maxLength" : 1024, | |
5285 | "type" : "string", | |
5286 | "typetext" : "<string>" | |
5287 | } | |
5288 | } | |
5289 | }, | |
c061d61d DM |
5290 | "permissions" : { |
5291 | "check" : [ | |
5292 | "admin" | |
5293 | ] | |
5294 | }, | |
a55e94a6 | 5295 | "protected" : 1, |
eff914dc DM |
5296 | "proxyto" : "master", |
5297 | "returns" : { | |
5298 | "type" : "null" | |
5299 | } | |
5300 | } | |
5301 | }, | |
5302 | "leaf" : 1, | |
5303 | "path" : "/config/whitelist/receiver_regex/{id}", | |
5304 | "text" : "{id}" | |
5305 | } | |
5306 | ], | |
5307 | "info" : { | |
5308 | "POST" : { | |
6bd70b95 | 5309 | "allowtoken" : 1, |
eff914dc DM |
5310 | "description" : "Add 'Regular Expression' object.", |
5311 | "method" : "POST", | |
5312 | "name" : "receiver_regex", | |
5313 | "parameters" : { | |
5314 | "additionalProperties" : 0, | |
5315 | "properties" : { | |
5316 | "regex" : { | |
5317 | "description" : "Email address regular expression.", | |
5318 | "maxLength" : 1024, | |
5319 | "type" : "string", | |
5320 | "typetext" : "<string>" | |
5321 | } | |
5322 | } | |
5323 | }, | |
c061d61d DM |
5324 | "permissions" : { |
5325 | "check" : [ | |
5326 | "admin" | |
5327 | ] | |
5328 | }, | |
a55e94a6 | 5329 | "protected" : 1, |
eff914dc DM |
5330 | "proxyto" : "master", |
5331 | "returns" : { | |
5332 | "description" : "The object ID.", | |
5333 | "type" : "integer" | |
5334 | } | |
5335 | } | |
5336 | }, | |
5337 | "leaf" : 0, | |
5338 | "path" : "/config/whitelist/receiver_regex", | |
5339 | "text" : "receiver_regex" | |
5340 | }, | |
5341 | { | |
5342 | "children" : [ | |
5343 | { | |
5344 | "info" : { | |
5345 | "GET" : { | |
6bd70b95 | 5346 | "allowtoken" : 1, |
eff914dc DM |
5347 | "description" : "Read 'IP Address' object settings.", |
5348 | "method" : "GET", | |
5349 | "name" : "read_ip", | |
5350 | "parameters" : { | |
5351 | "additionalProperties" : 0, | |
5352 | "properties" : { | |
5353 | "id" : { | |
5354 | "description" : "Object ID.", | |
5355 | "type" : "integer", | |
5356 | "typetext" : "<integer>" | |
5357 | } | |
5358 | } | |
5359 | }, | |
c061d61d DM |
5360 | "permissions" : { |
5361 | "check" : [ | |
5362 | "admin", | |
5363 | "audit" | |
5364 | ] | |
5365 | }, | |
eff914dc DM |
5366 | "proxyto" : "master", |
5367 | "returns" : { | |
5368 | "properties" : { | |
5369 | "id" : { | |
5370 | "type" : "integer" | |
5371 | } | |
5372 | }, | |
5373 | "type" : "object" | |
5374 | } | |
5375 | }, | |
5376 | "PUT" : { | |
6bd70b95 | 5377 | "allowtoken" : 1, |
eff914dc DM |
5378 | "description" : "Update 'IP Address' object.", |
5379 | "method" : "PUT", | |
5380 | "name" : "update_ip", | |
5381 | "parameters" : { | |
5382 | "additionalProperties" : 0, | |
5383 | "properties" : { | |
5384 | "id" : { | |
5385 | "description" : "Object ID.", | |
5386 | "type" : "integer", | |
5387 | "typetext" : "<integer>" | |
5388 | }, | |
5389 | "ip" : { | |
5390 | "description" : "IP address", | |
5391 | "format" : "ip", | |
5392 | "type" : "string", | |
5393 | "typetext" : "<string>" | |
5394 | } | |
5395 | } | |
5396 | }, | |
c061d61d DM |
5397 | "permissions" : { |
5398 | "check" : [ | |
5399 | "admin" | |
5400 | ] | |
5401 | }, | |
a55e94a6 | 5402 | "protected" : 1, |
eff914dc DM |
5403 | "proxyto" : "master", |
5404 | "returns" : { | |
5405 | "type" : "null" | |
5406 | } | |
5407 | } | |
5408 | }, | |
5409 | "leaf" : 1, | |
5410 | "path" : "/config/whitelist/ip/{id}", | |
5411 | "text" : "{id}" | |
5412 | } | |
5413 | ], | |
5414 | "info" : { | |
5415 | "POST" : { | |
6bd70b95 | 5416 | "allowtoken" : 1, |
eff914dc DM |
5417 | "description" : "Add 'IP Address' object.", |
5418 | "method" : "POST", | |
5419 | "name" : "ip", | |
5420 | "parameters" : { | |
5421 | "additionalProperties" : 0, | |
5422 | "properties" : { | |
5423 | "ip" : { | |
5424 | "description" : "IP address", | |
5425 | "format" : "ip", | |
5426 | "type" : "string", | |
5427 | "typetext" : "<string>" | |
5428 | } | |
5429 | } | |
5430 | }, | |
c061d61d DM |
5431 | "permissions" : { |
5432 | "check" : [ | |
5433 | "admin" | |
5434 | ] | |
5435 | }, | |
a55e94a6 | 5436 | "protected" : 1, |
eff914dc DM |
5437 | "proxyto" : "master", |
5438 | "returns" : { | |
5439 | "description" : "The object ID.", | |
5440 | "type" : "integer" | |
5441 | } | |
5442 | } | |
5443 | }, | |
5444 | "leaf" : 0, | |
5445 | "path" : "/config/whitelist/ip", | |
5446 | "text" : "ip" | |
5447 | }, | |
5448 | { | |
5449 | "children" : [ | |
5450 | { | |
5451 | "info" : { | |
5452 | "GET" : { | |
6bd70b95 | 5453 | "allowtoken" : 1, |
eff914dc DM |
5454 | "description" : "Read 'IP Network' object settings.", |
5455 | "method" : "GET", | |
5456 | "name" : "read_network", | |
5457 | "parameters" : { | |
5458 | "additionalProperties" : 0, | |
5459 | "properties" : { | |
5460 | "id" : { | |
5461 | "description" : "Object ID.", | |
5462 | "type" : "integer", | |
5463 | "typetext" : "<integer>" | |
5464 | } | |
5465 | } | |
5466 | }, | |
c061d61d DM |
5467 | "permissions" : { |
5468 | "check" : [ | |
5469 | "admin", | |
5470 | "audit" | |
5471 | ] | |
5472 | }, | |
eff914dc DM |
5473 | "proxyto" : "master", |
5474 | "returns" : { | |
5475 | "properties" : { | |
5476 | "id" : { | |
5477 | "type" : "integer" | |
5478 | } | |
5479 | }, | |
5480 | "type" : "object" | |
5481 | } | |
5482 | }, | |
5483 | "PUT" : { | |
6bd70b95 | 5484 | "allowtoken" : 1, |
eff914dc DM |
5485 | "description" : "Update 'IP Network' object.", |
5486 | "method" : "PUT", | |
5487 | "name" : "update_network", | |
5488 | "parameters" : { | |
5489 | "additionalProperties" : 0, | |
5490 | "properties" : { | |
5491 | "cidr" : { | |
5492 | "description" : "Network address in CIDR notation.", | |
5493 | "format" : "CIDR", | |
5494 | "type" : "string", | |
5495 | "typetext" : "<string>" | |
5496 | }, | |
5497 | "id" : { | |
5498 | "description" : "Object ID.", | |
5499 | "type" : "integer", | |
5500 | "typetext" : "<integer>" | |
5501 | } | |
5502 | } | |
5503 | }, | |
c061d61d DM |
5504 | "permissions" : { |
5505 | "check" : [ | |
5506 | "admin" | |
5507 | ] | |
5508 | }, | |
a55e94a6 | 5509 | "protected" : 1, |
eff914dc DM |
5510 | "proxyto" : "master", |
5511 | "returns" : { | |
5512 | "type" : "null" | |
5513 | } | |
5514 | } | |
5515 | }, | |
5516 | "leaf" : 1, | |
5517 | "path" : "/config/whitelist/network/{id}", | |
5518 | "text" : "{id}" | |
5519 | } | |
5520 | ], | |
5521 | "info" : { | |
5522 | "POST" : { | |
6bd70b95 | 5523 | "allowtoken" : 1, |
eff914dc DM |
5524 | "description" : "Add 'IP Network' object.", |
5525 | "method" : "POST", | |
5526 | "name" : "network", | |
5527 | "parameters" : { | |
5528 | "additionalProperties" : 0, | |
5529 | "properties" : { | |
5530 | "cidr" : { | |
5531 | "description" : "Network address in CIDR notation.", | |
5532 | "format" : "CIDR", | |
5533 | "type" : "string", | |
5534 | "typetext" : "<string>" | |
5535 | } | |
5536 | } | |
5537 | }, | |
c061d61d DM |
5538 | "permissions" : { |
5539 | "check" : [ | |
5540 | "admin" | |
5541 | ] | |
5542 | }, | |
a55e94a6 | 5543 | "protected" : 1, |
eff914dc DM |
5544 | "proxyto" : "master", |
5545 | "returns" : { | |
5546 | "description" : "The object ID.", | |
5547 | "type" : "integer" | |
5548 | } | |
5549 | } | |
5550 | }, | |
5551 | "leaf" : 0, | |
5552 | "path" : "/config/whitelist/network", | |
5553 | "text" : "network" | |
5554 | } | |
5555 | ], | |
5556 | "info" : { | |
5557 | "GET" : { | |
6bd70b95 | 5558 | "allowtoken" : 1, |
eff914dc DM |
5559 | "description" : "Directory index.", |
5560 | "method" : "GET", | |
5561 | "name" : "index", | |
5562 | "parameters" : { | |
5563 | "additionalProperties" : 0 | |
5564 | }, | |
732d76e1 DM |
5565 | "permissions" : { |
5566 | "check" : [ | |
5567 | "admin", | |
5568 | "audit" | |
5569 | ] | |
5570 | }, | |
eff914dc DM |
5571 | "returns" : { |
5572 | "items" : { | |
5573 | "properties" : { | |
5574 | "subdir" : { | |
5575 | "type" : "string" | |
5576 | } | |
5577 | }, | |
5578 | "type" : "object" | |
5579 | }, | |
5580 | "links" : [ | |
5581 | { | |
5582 | "href" : "{subdir}", | |
5583 | "rel" : "child" | |
5584 | } | |
5585 | ], | |
5586 | "type" : "array" | |
5587 | } | |
5588 | } | |
5589 | }, | |
5590 | "leaf" : 0, | |
5591 | "path" : "/config/whitelist", | |
5592 | "text" : "whitelist" | |
5593 | }, | |
5594 | { | |
5595 | "children" : [ | |
5596 | { | |
a55e94a6 DM |
5597 | "children" : [ |
5598 | { | |
5599 | "info" : { | |
5600 | "GET" : { | |
6bd70b95 | 5601 | "allowtoken" : 1, |
a55e94a6 DM |
5602 | "description" : "Get LDAP profile configuration.", |
5603 | "method" : "GET", | |
5604 | "name" : "read_config", | |
5605 | "parameters" : { | |
5606 | "additionalProperties" : 0, | |
5607 | "properties" : { | |
5608 | "profile" : { | |
5609 | "description" : "Profile ID.", | |
5610 | "format" : "pve-configid", | |
5611 | "type" : "string", | |
5612 | "typetext" : "<string>" | |
5613 | } | |
5614 | } | |
5615 | }, | |
5616 | "permissions" : { | |
5617 | "check" : [ | |
4a46ced6 DM |
5618 | "admin", |
5619 | "audit" | |
a55e94a6 DM |
5620 | ] |
5621 | }, | |
5622 | "proxyto" : "master", | |
5623 | "returns" : {} | |
5624 | }, | |
5625 | "PUT" : { | |
6bd70b95 | 5626 | "allowtoken" : 1, |
a55e94a6 DM |
5627 | "description" : "Update LDAP profile settings.", |
5628 | "method" : "PUT", | |
5629 | "name" : "update_config", | |
5630 | "parameters" : { | |
5631 | "additionalProperties" : 0, | |
5632 | "properties" : { | |
5633 | "accountattr" : { | |
732d76e1 | 5634 | "default" : "sAMAccountName, uid", |
a55e94a6 | 5635 | "description" : "Account attribute name name.", |
274b47fc | 5636 | "format" : "ldap-simple-attr-list", |
a55e94a6 | 5637 | "optional" : 1, |
274b47fc DM |
5638 | "type" : "string", |
5639 | "typetext" : "<string>" | |
a55e94a6 DM |
5640 | }, |
5641 | "basedn" : { | |
5642 | "description" : "Base domain name.", | |
5643 | "optional" : 1, | |
5644 | "type" : "string", | |
5645 | "typetext" : "<string>" | |
5646 | }, | |
5647 | "binddn" : { | |
5648 | "description" : "Bind domain name.", | |
5649 | "optional" : 1, | |
5650 | "type" : "string", | |
5651 | "typetext" : "<string>" | |
5652 | }, | |
5653 | "bindpw" : { | |
5654 | "description" : "Bind password.", | |
5655 | "optional" : 1, | |
5656 | "type" : "string", | |
5657 | "typetext" : "<string>" | |
5658 | }, | |
241ac83c TL |
5659 | "cafile" : { |
5660 | "description" : "Path to CA file. Only useful with option 'verify'", | |
5661 | "optional" : 1, | |
5662 | "type" : "string", | |
5663 | "typetext" : "<string>" | |
5664 | }, | |
a55e94a6 DM |
5665 | "comment" : { |
5666 | "description" : "Description.", | |
5667 | "maxLength" : 4096, | |
5668 | "optional" : 1, | |
5669 | "type" : "string", | |
5670 | "typetext" : "<string>" | |
5671 | }, | |
5672 | "delete" : { | |
5673 | "description" : "A list of settings you want to delete.", | |
5674 | "format" : "pve-configid-list", | |
5675 | "maxLength" : 4096, | |
5676 | "optional" : 1, | |
5677 | "type" : "string", | |
5678 | "typetext" : "<string>" | |
5679 | }, | |
5680 | "digest" : { | |
5681 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
5682 | "maxLength" : 40, | |
5683 | "optional" : 1, | |
5684 | "type" : "string", | |
5685 | "typetext" : "<string>" | |
5686 | }, | |
5687 | "disable" : { | |
5688 | "description" : "Flag to disable/deactivate the entry.", | |
5689 | "optional" : 1, | |
5690 | "type" : "boolean", | |
5691 | "typetext" : "<boolean>" | |
5692 | }, | |
5693 | "filter" : { | |
5694 | "description" : "LDAP filter.", | |
5695 | "optional" : 1, | |
5696 | "type" : "string", | |
5697 | "typetext" : "<string>" | |
5698 | }, | |
5699 | "groupbasedn" : { | |
5700 | "description" : "Base domain name for groups.", | |
5701 | "optional" : 1, | |
5702 | "type" : "string", | |
5703 | "typetext" : "<string>" | |
5704 | }, | |
732d76e1 DM |
5705 | "groupclass" : { |
5706 | "default" : "group, univentionGroup, ipausergroup", | |
5707 | "description" : "List of objectclasses for groups.", | |
274b47fc | 5708 | "format" : "ldap-simple-attr-list", |
732d76e1 DM |
5709 | "optional" : 1, |
5710 | "type" : "string", | |
5711 | "typetext" : "<string>" | |
5712 | }, | |
a55e94a6 | 5713 | "mailattr" : { |
274b47fc | 5714 | "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress", |
a55e94a6 | 5715 | "description" : "List of mail attribute names.", |
274b47fc | 5716 | "format" : "ldap-simple-attr-list", |
a55e94a6 | 5717 | "optional" : 1, |
274b47fc DM |
5718 | "type" : "string", |
5719 | "typetext" : "<string>" | |
a55e94a6 DM |
5720 | }, |
5721 | "mode" : { | |
5722 | "default" : "ldap", | |
241ac83c | 5723 | "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').", |
a55e94a6 DM |
5724 | "enum" : [ |
5725 | "ldap", | |
241ac83c TL |
5726 | "ldaps", |
5727 | "ldap+starttls" | |
a55e94a6 DM |
5728 | ], |
5729 | "optional" : 1, | |
5730 | "type" : "string" | |
5731 | }, | |
5732 | "port" : { | |
5733 | "description" : "Specify the port to connect to.", | |
5734 | "maximum" : 65535, | |
5735 | "minimum" : 1, | |
5736 | "optional" : 1, | |
5737 | "type" : "integer", | |
5738 | "typetext" : "<integer> (1 - 65535)" | |
5739 | }, | |
5740 | "profile" : { | |
5741 | "description" : "Profile ID.", | |
5742 | "format" : "pve-configid", | |
5743 | "type" : "string", | |
5744 | "typetext" : "<string>" | |
5745 | }, | |
5746 | "server1" : { | |
5747 | "description" : "Server address.", | |
5748 | "format" : "address", | |
5749 | "maxLength" : 256, | |
5750 | "optional" : 1, | |
5751 | "type" : "string", | |
5752 | "typetext" : "<string>" | |
5753 | }, | |
5754 | "server2" : { | |
5755 | "description" : "Fallback server address. Userd when the first server is not available.", | |
5756 | "format" : "address", | |
5757 | "maxLength" : 256, | |
5758 | "optional" : 1, | |
5759 | "type" : "string", | |
5760 | "typetext" : "<string>" | |
241ac83c TL |
5761 | }, |
5762 | "verify" : { | |
5763 | "default" : 0, | |
5764 | "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.", | |
5765 | "optional" : 1, | |
5766 | "type" : "boolean", | |
5767 | "typetext" : "<boolean>" | |
a55e94a6 | 5768 | } |
732d76e1 DM |
5769 | }, |
5770 | "type" : "object" | |
5771 | }, | |
5772 | "permissions" : { | |
5773 | "check" : [ | |
5774 | "admin" | |
5775 | ] | |
5776 | }, | |
5777 | "protected" : 1, | |
5778 | "proxyto" : "master", | |
5779 | "returns" : { | |
5780 | "type" : "null" | |
5781 | } | |
5782 | } | |
5783 | }, | |
5784 | "leaf" : 1, | |
5785 | "path" : "/config/ldap/{profile}/config", | |
5786 | "text" : "config" | |
5787 | }, | |
5788 | { | |
5789 | "info" : { | |
5790 | "POST" : { | |
6bd70b95 | 5791 | "allowtoken" : 1, |
732d76e1 DM |
5792 | "description" : "Synchronice LDAP users to local database.", |
5793 | "method" : "POST", | |
5794 | "name" : "sync_profile", | |
5795 | "parameters" : { | |
5796 | "additionalProperties" : 0, | |
5797 | "properties" : { | |
5798 | "profile" : { | |
5799 | "description" : "Profile ID.", | |
5800 | "format" : "pve-configid", | |
5801 | "type" : "string", | |
5802 | "typetext" : "<string>" | |
5803 | } | |
5804 | } | |
5805 | }, | |
5806 | "permissions" : { | |
5807 | "check" : [ | |
5808 | "admin" | |
5809 | ] | |
5810 | }, | |
5811 | "protected" : 1, | |
5812 | "proxyto" : "master", | |
5813 | "returns" : { | |
5814 | "type" : "null" | |
5815 | } | |
5816 | } | |
5817 | }, | |
5818 | "leaf" : 1, | |
5819 | "path" : "/config/ldap/{profile}/sync", | |
5820 | "text" : "sync" | |
5821 | }, | |
5822 | { | |
5823 | "children" : [ | |
5824 | { | |
5825 | "info" : { | |
5826 | "GET" : { | |
6bd70b95 | 5827 | "allowtoken" : 1, |
732d76e1 DM |
5828 | "description" : "Get all email addresses for the specified user.", |
5829 | "method" : "GET", | |
5830 | "name" : "address_list", | |
5831 | "parameters" : { | |
5832 | "additionalProperties" : 0, | |
5833 | "properties" : { | |
5834 | "email" : { | |
5835 | "description" : "Email address.", | |
0b9926d3 TL |
5836 | "maxLength" : 512, |
5837 | "minLength" : 3, | |
5838 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", | |
5839 | "type" : "string" | |
732d76e1 DM |
5840 | }, |
5841 | "profile" : { | |
5842 | "description" : "Profile ID.", | |
5843 | "format" : "pve-configid", | |
5844 | "type" : "string", | |
5845 | "typetext" : "<string>" | |
5846 | } | |
5847 | } | |
5848 | }, | |
5849 | "permissions" : { | |
5850 | "check" : [ | |
4a46ced6 DM |
5851 | "admin", |
5852 | "audit" | |
732d76e1 DM |
5853 | ] |
5854 | }, | |
5855 | "protected" : 1, | |
5856 | "proxyto" : "master", | |
5857 | "returns" : { | |
5858 | "items" : { | |
5859 | "properties" : { | |
5860 | "email" : { | |
5861 | "type" : "string" | |
5862 | }, | |
5863 | "primary" : { | |
5864 | "type" : "boolean" | |
5865 | } | |
5866 | }, | |
5867 | "type" : "object" | |
5868 | }, | |
5869 | "type" : "array" | |
5870 | } | |
5871 | } | |
a55e94a6 | 5872 | }, |
732d76e1 DM |
5873 | "leaf" : 1, |
5874 | "path" : "/config/ldap/{profile}/users/{email}", | |
5875 | "text" : "{email}" | |
a55e94a6 | 5876 | } |
732d76e1 | 5877 | ], |
a55e94a6 | 5878 | "info" : { |
732d76e1 | 5879 | "GET" : { |
6bd70b95 | 5880 | "allowtoken" : 1, |
732d76e1 DM |
5881 | "description" : "List LDAP users.", |
5882 | "method" : "GET", | |
5883 | "name" : "profile_list_users", | |
a55e94a6 DM |
5884 | "parameters" : { |
5885 | "additionalProperties" : 0, | |
5886 | "properties" : { | |
5887 | "profile" : { | |
5888 | "description" : "Profile ID.", | |
5889 | "format" : "pve-configid", | |
5890 | "type" : "string", | |
5891 | "typetext" : "<string>" | |
5892 | } | |
5893 | } | |
5894 | }, | |
5895 | "permissions" : { | |
5896 | "check" : [ | |
4a46ced6 DM |
5897 | "admin", |
5898 | "audit" | |
a55e94a6 DM |
5899 | ] |
5900 | }, | |
5901 | "protected" : 1, | |
5902 | "proxyto" : "master", | |
5903 | "returns" : { | |
732d76e1 DM |
5904 | "items" : { |
5905 | "properties" : { | |
5906 | "account" : { | |
5907 | "type" : "string" | |
5908 | }, | |
5909 | "dn" : { | |
5910 | "type" : "string" | |
5911 | }, | |
5912 | "pmail" : { | |
5913 | "type" : "string" | |
5914 | } | |
5915 | }, | |
5916 | "type" : "object" | |
5917 | }, | |
5918 | "links" : [ | |
5919 | { | |
5920 | "href" : "{pmail}", | |
5921 | "rel" : "child" | |
5922 | } | |
5923 | ], | |
5924 | "type" : "array" | |
a55e94a6 DM |
5925 | } |
5926 | } | |
5927 | }, | |
732d76e1 DM |
5928 | "leaf" : 0, |
5929 | "path" : "/config/ldap/{profile}/users", | |
5930 | "text" : "users" | |
a55e94a6 DM |
5931 | }, |
5932 | { | |
5933 | "children" : [ | |
5934 | { | |
5935 | "info" : { | |
5936 | "GET" : { | |
6bd70b95 | 5937 | "allowtoken" : 1, |
732d76e1 | 5938 | "description" : "List LDAP group members.", |
a55e94a6 | 5939 | "method" : "GET", |
732d76e1 | 5940 | "name" : "profile_list_group_members", |
a55e94a6 DM |
5941 | "parameters" : { |
5942 | "additionalProperties" : 0, | |
5943 | "properties" : { | |
732d76e1 DM |
5944 | "gid" : { |
5945 | "description" : "Group ID", | |
5946 | "type" : "number", | |
5947 | "typetext" : "<number>" | |
a55e94a6 DM |
5948 | }, |
5949 | "profile" : { | |
5950 | "description" : "Profile ID.", | |
5951 | "format" : "pve-configid", | |
5952 | "type" : "string", | |
5953 | "typetext" : "<string>" | |
5954 | } | |
5955 | } | |
5956 | }, | |
5957 | "permissions" : { | |
5958 | "check" : [ | |
4a46ced6 DM |
5959 | "admin", |
5960 | "audit" | |
a55e94a6 DM |
5961 | ] |
5962 | }, | |
5963 | "protected" : 1, | |
5964 | "proxyto" : "master", | |
5965 | "returns" : { | |
5966 | "items" : { | |
5967 | "properties" : { | |
732d76e1 | 5968 | "account" : { |
a55e94a6 DM |
5969 | "type" : "string" |
5970 | }, | |
732d76e1 DM |
5971 | "dn" : { |
5972 | "type" : "string" | |
5973 | }, | |
5974 | "pmail" : { | |
5975 | "type" : "string" | |
a55e94a6 DM |
5976 | } |
5977 | }, | |
5978 | "type" : "object" | |
5979 | }, | |
5980 | "type" : "array" | |
5981 | } | |
5982 | } | |
5983 | }, | |
5984 | "leaf" : 1, | |
732d76e1 DM |
5985 | "path" : "/config/ldap/{profile}/groups/{gid}", |
5986 | "text" : "{gid}" | |
a55e94a6 DM |
5987 | } |
5988 | ], | |
5989 | "info" : { | |
5990 | "GET" : { | |
6bd70b95 | 5991 | "allowtoken" : 1, |
732d76e1 | 5992 | "description" : "List LDAP groups.", |
a55e94a6 | 5993 | "method" : "GET", |
732d76e1 | 5994 | "name" : "profile_list_groups", |
a55e94a6 DM |
5995 | "parameters" : { |
5996 | "additionalProperties" : 0, | |
5997 | "properties" : { | |
5998 | "profile" : { | |
5999 | "description" : "Profile ID.", | |
6000 | "format" : "pve-configid", | |
6001 | "type" : "string", | |
6002 | "typetext" : "<string>" | |
6003 | } | |
6004 | } | |
6005 | }, | |
6006 | "permissions" : { | |
6007 | "check" : [ | |
4a46ced6 DM |
6008 | "admin", |
6009 | "audit" | |
a55e94a6 DM |
6010 | ] |
6011 | }, | |
6012 | "protected" : 1, | |
6013 | "proxyto" : "master", | |
6014 | "returns" : { | |
6015 | "items" : { | |
6016 | "properties" : { | |
a55e94a6 DM |
6017 | "dn" : { |
6018 | "type" : "string" | |
6019 | }, | |
732d76e1 DM |
6020 | "gid" : { |
6021 | "type" : "number" | |
a55e94a6 DM |
6022 | } |
6023 | }, | |
6024 | "type" : "object" | |
6025 | }, | |
732d76e1 DM |
6026 | "links" : [ |
6027 | { | |
6028 | "href" : "{gid}", | |
6029 | "rel" : "child" | |
6030 | } | |
6031 | ], | |
a55e94a6 DM |
6032 | "type" : "array" |
6033 | } | |
6034 | } | |
6035 | }, | |
732d76e1 DM |
6036 | "leaf" : 0, |
6037 | "path" : "/config/ldap/{profile}/groups", | |
6038 | "text" : "groups" | |
6039 | } | |
6040 | ], | |
6041 | "info" : { | |
6042 | "DELETE" : { | |
6bd70b95 | 6043 | "allowtoken" : 1, |
732d76e1 DM |
6044 | "description" : "Delete an LDAP profile", |
6045 | "method" : "DELETE", | |
6046 | "name" : "delete", | |
6047 | "parameters" : { | |
6048 | "additionalProperties" : 0, | |
6049 | "properties" : { | |
6050 | "profile" : { | |
6051 | "description" : "Profile ID.", | |
6052 | "format" : "pve-configid", | |
6053 | "type" : "string", | |
6054 | "typetext" : "<string>" | |
6055 | } | |
6056 | } | |
6057 | }, | |
6058 | "permissions" : { | |
6059 | "check" : [ | |
6060 | "admin" | |
6061 | ] | |
6062 | }, | |
6063 | "protected" : 1, | |
6064 | "proxyto" : "master", | |
6065 | "returns" : { | |
6066 | "type" : "null" | |
6067 | } | |
6068 | }, | |
6069 | "GET" : { | |
6bd70b95 | 6070 | "allowtoken" : 1, |
732d76e1 DM |
6071 | "description" : "Directory index", |
6072 | "method" : "GET", | |
6073 | "name" : "profile_index", | |
6074 | "parameters" : { | |
6075 | "additionalProperties" : 0, | |
6076 | "properties" : { | |
6077 | "profile" : { | |
6078 | "description" : "Profile ID.", | |
6079 | "format" : "pve-configid", | |
6080 | "type" : "string", | |
6081 | "typetext" : "<string>" | |
6082 | } | |
6083 | } | |
6084 | }, | |
6085 | "permissions" : { | |
6086 | "user" : "all" | |
6087 | }, | |
6088 | "returns" : { | |
6089 | "items" : { | |
6090 | "properties" : { | |
6091 | "subdir" : { | |
6092 | "type" : "string" | |
6093 | } | |
6094 | }, | |
6095 | "type" : "object" | |
6096 | }, | |
6097 | "links" : [ | |
6098 | { | |
6099 | "href" : "{subdir}", | |
6100 | "rel" : "child" | |
6101 | } | |
6102 | ], | |
6103 | "type" : "array" | |
6104 | } | |
6105 | } | |
6106 | }, | |
6107 | "leaf" : 0, | |
6108 | "path" : "/config/ldap/{profile}", | |
6109 | "text" : "{profile}" | |
6110 | } | |
6111 | ], | |
6112 | "info" : { | |
6113 | "GET" : { | |
6bd70b95 | 6114 | "allowtoken" : 1, |
732d76e1 DM |
6115 | "description" : "List configured LDAP profiles.", |
6116 | "method" : "GET", | |
6117 | "name" : "index", | |
6118 | "parameters" : { | |
6119 | "additionalProperties" : 0 | |
6120 | }, | |
6121 | "permissions" : { | |
6122 | "check" : [ | |
4a46ced6 DM |
6123 | "admin", |
6124 | "audit" | |
732d76e1 DM |
6125 | ] |
6126 | }, | |
6127 | "proxyto" : "master", | |
6128 | "returns" : { | |
6129 | "items" : { | |
6130 | "properties" : { | |
6131 | "comment" : { | |
6132 | "optional" : 1, | |
6133 | "type" : "string" | |
6134 | }, | |
6135 | "disable" : { | |
6136 | "type" : "boolean" | |
6137 | }, | |
6138 | "gcount" : { | |
6139 | "optional" : 1, | |
6140 | "type" : "integer" | |
6141 | }, | |
6142 | "mcount" : { | |
6143 | "optional" : 1, | |
6144 | "type" : "integer" | |
6145 | }, | |
6146 | "mode" : { | |
6147 | "type" : "string" | |
6148 | }, | |
6149 | "profile" : { | |
6150 | "type" : "string" | |
6151 | }, | |
6152 | "server1" : { | |
6153 | "type" : "string" | |
6154 | }, | |
6155 | "server2" : { | |
6156 | "optional" : 1, | |
6157 | "type" : "string" | |
6158 | }, | |
6159 | "ucount" : { | |
6160 | "optional" : 1, | |
6161 | "type" : "integer" | |
6162 | } | |
6163 | }, | |
6164 | "type" : "object" | |
6165 | }, | |
6166 | "links" : [ | |
6167 | { | |
6168 | "href" : "{profile}", | |
6169 | "rel" : "child" | |
6170 | } | |
6171 | ], | |
6172 | "type" : "array" | |
6173 | } | |
6174 | }, | |
6175 | "POST" : { | |
6bd70b95 | 6176 | "allowtoken" : 1, |
732d76e1 DM |
6177 | "description" : "Add LDAP profile.", |
6178 | "method" : "POST", | |
6179 | "name" : "create", | |
6180 | "parameters" : { | |
6181 | "additionalProperties" : 0, | |
6182 | "properties" : { | |
6183 | "accountattr" : { | |
6184 | "default" : "sAMAccountName, uid", | |
6185 | "description" : "Account attribute name name.", | |
274b47fc | 6186 | "format" : "ldap-simple-attr-list", |
732d76e1 | 6187 | "optional" : 1, |
274b47fc DM |
6188 | "type" : "string", |
6189 | "typetext" : "<string>" | |
732d76e1 DM |
6190 | }, |
6191 | "basedn" : { | |
6192 | "description" : "Base domain name.", | |
6193 | "optional" : 1, | |
6194 | "type" : "string", | |
6195 | "typetext" : "<string>" | |
6196 | }, | |
6197 | "binddn" : { | |
6198 | "description" : "Bind domain name.", | |
6199 | "optional" : 1, | |
6200 | "type" : "string", | |
6201 | "typetext" : "<string>" | |
6202 | }, | |
6203 | "bindpw" : { | |
6204 | "description" : "Bind password.", | |
6205 | "optional" : 1, | |
6206 | "type" : "string", | |
6207 | "typetext" : "<string>" | |
6208 | }, | |
241ac83c TL |
6209 | "cafile" : { |
6210 | "description" : "Path to CA file. Only useful with option 'verify'", | |
6211 | "optional" : 1, | |
6212 | "type" : "string", | |
6213 | "typetext" : "<string>" | |
6214 | }, | |
732d76e1 DM |
6215 | "comment" : { |
6216 | "description" : "Description.", | |
6217 | "maxLength" : 4096, | |
6218 | "optional" : 1, | |
6219 | "type" : "string", | |
6220 | "typetext" : "<string>" | |
6221 | }, | |
6222 | "disable" : { | |
6223 | "description" : "Flag to disable/deactivate the entry.", | |
6224 | "optional" : 1, | |
6225 | "type" : "boolean", | |
6226 | "typetext" : "<boolean>" | |
a55e94a6 | 6227 | }, |
732d76e1 DM |
6228 | "filter" : { |
6229 | "description" : "LDAP filter.", | |
6230 | "optional" : 1, | |
6231 | "type" : "string", | |
6232 | "typetext" : "<string>" | |
6233 | }, | |
6234 | "groupbasedn" : { | |
6235 | "description" : "Base domain name for groups.", | |
6236 | "optional" : 1, | |
6237 | "type" : "string", | |
6238 | "typetext" : "<string>" | |
6239 | }, | |
6240 | "groupclass" : { | |
6241 | "default" : "group, univentionGroup, ipausergroup", | |
6242 | "description" : "List of objectclasses for groups.", | |
274b47fc | 6243 | "format" : "ldap-simple-attr-list", |
732d76e1 DM |
6244 | "optional" : 1, |
6245 | "type" : "string", | |
6246 | "typetext" : "<string>" | |
6247 | }, | |
6248 | "mailattr" : { | |
274b47fc | 6249 | "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress", |
732d76e1 | 6250 | "description" : "List of mail attribute names.", |
274b47fc | 6251 | "format" : "ldap-simple-attr-list", |
732d76e1 | 6252 | "optional" : 1, |
274b47fc DM |
6253 | "type" : "string", |
6254 | "typetext" : "<string>" | |
732d76e1 DM |
6255 | }, |
6256 | "mode" : { | |
6257 | "default" : "ldap", | |
241ac83c | 6258 | "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').", |
732d76e1 DM |
6259 | "enum" : [ |
6260 | "ldap", | |
241ac83c TL |
6261 | "ldaps", |
6262 | "ldap+starttls" | |
732d76e1 DM |
6263 | ], |
6264 | "optional" : 1, | |
6265 | "type" : "string" | |
6266 | }, | |
6267 | "port" : { | |
6268 | "description" : "Specify the port to connect to.", | |
6269 | "maximum" : 65535, | |
6270 | "minimum" : 1, | |
6271 | "optional" : 1, | |
6272 | "type" : "integer", | |
6273 | "typetext" : "<integer> (1 - 65535)" | |
6274 | }, | |
6275 | "profile" : { | |
6276 | "description" : "Profile ID.", | |
6277 | "format" : "pve-configid", | |
6278 | "type" : "string", | |
6279 | "typetext" : "<string>" | |
6280 | }, | |
6281 | "server1" : { | |
6282 | "description" : "Server address.", | |
6283 | "format" : "address", | |
6284 | "maxLength" : 256, | |
6285 | "optional" : 0, | |
6286 | "type" : "string", | |
6287 | "typetext" : "<string>" | |
6288 | }, | |
6289 | "server2" : { | |
6290 | "description" : "Fallback server address. Userd when the first server is not available.", | |
6291 | "format" : "address", | |
6292 | "maxLength" : 256, | |
6293 | "optional" : 1, | |
6294 | "type" : "string", | |
6295 | "typetext" : "<string>" | |
241ac83c TL |
6296 | }, |
6297 | "verify" : { | |
6298 | "default" : 0, | |
6299 | "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.", | |
6300 | "optional" : 1, | |
6301 | "type" : "boolean", | |
6302 | "typetext" : "<boolean>" | |
732d76e1 DM |
6303 | } |
6304 | }, | |
6305 | "type" : "object" | |
6306 | }, | |
6307 | "permissions" : { | |
6308 | "check" : [ | |
6309 | "admin" | |
6310 | ] | |
6311 | }, | |
6312 | "protected" : 1, | |
6313 | "proxyto" : "master", | |
6314 | "returns" : { | |
6315 | "type" : "null" | |
6316 | } | |
6317 | } | |
6318 | }, | |
6319 | "leaf" : 0, | |
6320 | "path" : "/config/ldap", | |
6321 | "text" : "ldap" | |
6322 | }, | |
6323 | { | |
6324 | "children" : [ | |
6325 | { | |
a55e94a6 DM |
6326 | "info" : { |
6327 | "DELETE" : { | |
6bd70b95 | 6328 | "allowtoken" : 1, |
732d76e1 | 6329 | "description" : "Delete a relay domain", |
a55e94a6 DM |
6330 | "method" : "DELETE", |
6331 | "name" : "delete", | |
6332 | "parameters" : { | |
6333 | "additionalProperties" : 0, | |
6334 | "properties" : { | |
732d76e1 DM |
6335 | "domain" : { |
6336 | "description" : "Domain name.", | |
f225b3b4 | 6337 | "format" : "transport-domain", |
eff914dc DM |
6338 | "type" : "string", |
6339 | "typetext" : "<string>" | |
6340 | } | |
6341 | } | |
6342 | }, | |
a55e94a6 DM |
6343 | "permissions" : { |
6344 | "check" : [ | |
6345 | "admin" | |
6346 | ] | |
6347 | }, | |
eff914dc DM |
6348 | "protected" : 1, |
6349 | "proxyto" : "master", | |
a55e94a6 DM |
6350 | "returns" : { |
6351 | "type" : "null" | |
6352 | } | |
eff914dc | 6353 | }, |
a55e94a6 | 6354 | "GET" : { |
6bd70b95 | 6355 | "allowtoken" : 1, |
732d76e1 | 6356 | "description" : "Read Domain data (comment).", |
a55e94a6 | 6357 | "method" : "GET", |
732d76e1 | 6358 | "name" : "read", |
eff914dc DM |
6359 | "parameters" : { |
6360 | "additionalProperties" : 0, | |
6361 | "properties" : { | |
732d76e1 DM |
6362 | "domain" : { |
6363 | "description" : "Domain name.", | |
f225b3b4 | 6364 | "format" : "transport-domain", |
eff914dc DM |
6365 | "type" : "string", |
6366 | "typetext" : "<string>" | |
a55e94a6 DM |
6367 | } |
6368 | } | |
6369 | }, | |
6370 | "permissions" : { | |
732d76e1 DM |
6371 | "check" : [ |
6372 | "admin", | |
6373 | "audit" | |
6374 | ] | |
a55e94a6 | 6375 | }, |
732d76e1 | 6376 | "proxyto" : "master", |
a55e94a6 | 6377 | "returns" : { |
732d76e1 DM |
6378 | "properties" : { |
6379 | "comment" : { | |
6380 | "type" : "string" | |
eff914dc | 6381 | }, |
732d76e1 DM |
6382 | "domain" : { |
6383 | "type" : "string" | |
6384 | } | |
eff914dc | 6385 | }, |
732d76e1 DM |
6386 | "type" : "object" |
6387 | } | |
6388 | }, | |
6389 | "PUT" : { | |
6bd70b95 | 6390 | "allowtoken" : 1, |
732d76e1 DM |
6391 | "description" : "Update relay domain data (comment).", |
6392 | "method" : "PUT", | |
6393 | "name" : "write", | |
6394 | "parameters" : { | |
6395 | "additionalProperties" : 0, | |
6396 | "properties" : { | |
6397 | "comment" : { | |
6398 | "description" : "Comment.", | |
6399 | "type" : "string", | |
6400 | "typetext" : "<string>" | |
6401 | }, | |
6402 | "domain" : { | |
6403 | "description" : "Domain name.", | |
f225b3b4 | 6404 | "format" : "transport-domain", |
732d76e1 DM |
6405 | "type" : "string", |
6406 | "typetext" : "<string>" | |
a55e94a6 | 6407 | } |
732d76e1 DM |
6408 | } |
6409 | }, | |
6410 | "permissions" : { | |
6411 | "check" : [ | |
6412 | "admin" | |
6413 | ] | |
6414 | }, | |
6415 | "protected" : 1, | |
6416 | "proxyto" : "master", | |
6417 | "returns" : { | |
6418 | "type" : "null" | |
eff914dc DM |
6419 | } |
6420 | } | |
6421 | }, | |
732d76e1 DM |
6422 | "leaf" : 1, |
6423 | "path" : "/config/domains/{domain}", | |
6424 | "text" : "{domain}" | |
eff914dc DM |
6425 | } |
6426 | ], | |
6427 | "info" : { | |
6428 | "GET" : { | |
6bd70b95 | 6429 | "allowtoken" : 1, |
732d76e1 | 6430 | "description" : "List relay domains.", |
eff914dc DM |
6431 | "method" : "GET", |
6432 | "name" : "index", | |
6433 | "parameters" : { | |
6434 | "additionalProperties" : 0 | |
6435 | }, | |
a55e94a6 DM |
6436 | "permissions" : { |
6437 | "check" : [ | |
732d76e1 DM |
6438 | "admin", |
6439 | "audit" | |
a55e94a6 DM |
6440 | ] |
6441 | }, | |
eff914dc DM |
6442 | "proxyto" : "master", |
6443 | "returns" : { | |
6444 | "items" : { | |
6445 | "properties" : { | |
a55e94a6 | 6446 | "comment" : { |
eff914dc | 6447 | "type" : "string" |
a55e94a6 | 6448 | }, |
732d76e1 DM |
6449 | "domain" : { |
6450 | "type" : "string" | |
eff914dc DM |
6451 | } |
6452 | }, | |
6453 | "type" : "object" | |
6454 | }, | |
6455 | "links" : [ | |
6456 | { | |
732d76e1 | 6457 | "href" : "{domain}", |
eff914dc DM |
6458 | "rel" : "child" |
6459 | } | |
6460 | ], | |
6461 | "type" : "array" | |
6462 | } | |
6463 | }, | |
6464 | "POST" : { | |
6bd70b95 | 6465 | "allowtoken" : 1, |
732d76e1 | 6466 | "description" : "Add relay domain.", |
eff914dc DM |
6467 | "method" : "POST", |
6468 | "name" : "create", | |
6469 | "parameters" : { | |
6470 | "additionalProperties" : 0, | |
6471 | "properties" : { | |
a55e94a6 | 6472 | "comment" : { |
732d76e1 | 6473 | "description" : "Comment.", |
eff914dc | 6474 | "optional" : 1, |
eff914dc DM |
6475 | "type" : "string", |
6476 | "typetext" : "<string>" | |
6477 | }, | |
732d76e1 DM |
6478 | "domain" : { |
6479 | "description" : "Domain name.", | |
f225b3b4 | 6480 | "format" : "transport-domain", |
eff914dc DM |
6481 | "type" : "string", |
6482 | "typetext" : "<string>" | |
6483 | } | |
732d76e1 | 6484 | } |
eff914dc | 6485 | }, |
a55e94a6 DM |
6486 | "permissions" : { |
6487 | "check" : [ | |
6488 | "admin" | |
6489 | ] | |
6490 | }, | |
eff914dc DM |
6491 | "protected" : 1, |
6492 | "proxyto" : "master", | |
6493 | "returns" : { | |
6494 | "type" : "null" | |
6495 | } | |
6496 | } | |
6497 | }, | |
6498 | "leaf" : 0, | |
732d76e1 DM |
6499 | "path" : "/config/domains", |
6500 | "text" : "domains" | |
eff914dc DM |
6501 | }, |
6502 | { | |
6503 | "children" : [ | |
6504 | { | |
6505 | "info" : { | |
6506 | "DELETE" : { | |
6bd70b95 | 6507 | "allowtoken" : 1, |
732d76e1 | 6508 | "description" : "Delete a fetchmail configuration entry.", |
eff914dc DM |
6509 | "method" : "DELETE", |
6510 | "name" : "delete", | |
6511 | "parameters" : { | |
6512 | "additionalProperties" : 0, | |
6513 | "properties" : { | |
732d76e1 DM |
6514 | "id" : { |
6515 | "description" : "Unique ID", | |
6516 | "maxLength" : 16, | |
6517 | "pattern" : "[A-Za-z0-9]+", | |
6518 | "type" : "string" | |
eff914dc DM |
6519 | } |
6520 | } | |
6521 | }, | |
732d76e1 DM |
6522 | "permissions" : { |
6523 | "check" : [ | |
6524 | "admin" | |
6525 | ] | |
6526 | }, | |
eff914dc DM |
6527 | "protected" : 1, |
6528 | "proxyto" : "master", | |
6529 | "returns" : { | |
6530 | "type" : "null" | |
6531 | } | |
6532 | }, | |
6533 | "GET" : { | |
6bd70b95 | 6534 | "allowtoken" : 1, |
732d76e1 | 6535 | "description" : "Read fetchmail user configuration.", |
eff914dc DM |
6536 | "method" : "GET", |
6537 | "name" : "read", | |
6538 | "parameters" : { | |
6539 | "additionalProperties" : 0, | |
6540 | "properties" : { | |
732d76e1 DM |
6541 | "id" : { |
6542 | "description" : "Unique ID", | |
6543 | "maxLength" : 16, | |
6544 | "pattern" : "[A-Za-z0-9]+", | |
6545 | "type" : "string" | |
eff914dc DM |
6546 | } |
6547 | } | |
6548 | }, | |
732d76e1 DM |
6549 | "permissions" : { |
6550 | "check" : [ | |
6551 | "admin", | |
6552 | "audit" | |
6553 | ] | |
6554 | }, | |
6555 | "protected" : 1, | |
eff914dc DM |
6556 | "proxyto" : "master", |
6557 | "returns" : { | |
6558 | "properties" : { | |
732d76e1 DM |
6559 | "enable" : { |
6560 | "default" : 0, | |
6561 | "description" : "Flag to enable or disable polling.", | |
6562 | "optional" : 1, | |
6563 | "type" : "boolean" | |
6564 | }, | |
6565 | "id" : { | |
6566 | "description" : "Unique ID", | |
6567 | "maxLength" : 16, | |
6568 | "pattern" : "[A-Za-z0-9]+", | |
eff914dc DM |
6569 | "type" : "string" |
6570 | }, | |
732d76e1 DM |
6571 | "interval" : { |
6572 | "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.", | |
6573 | "maximum" : 2016, | |
6574 | "minimum" : 1, | |
6575 | "optional" : 1, | |
6576 | "type" : "integer" | |
6577 | }, | |
6578 | "keep" : { | |
6579 | "default" : 0, | |
6580 | "description" : "Keep retrieved messages on the remote mailserver.", | |
6581 | "optional" : 1, | |
6582 | "type" : "boolean" | |
6583 | }, | |
6584 | "pass" : { | |
6585 | "description" : "The password used tfor server login.", | |
6586 | "maxLength" : 64, | |
6587 | "optional" : 1, | |
6588 | "type" : "string" | |
6589 | }, | |
6590 | "port" : { | |
6591 | "description" : "Port number.", | |
6592 | "maximum" : 65535, | |
6593 | "minimum" : 1, | |
6594 | "optional" : 1, | |
6595 | "type" : "integer" | |
6596 | }, | |
6597 | "protocol" : { | |
6598 | "description" : "Specify the protocol to use when communicating with the remote mailserver", | |
6599 | "enum" : [ | |
6600 | "pop3", | |
6601 | "imap" | |
6602 | ], | |
6603 | "optional" : 1, | |
6604 | "type" : "string" | |
6605 | }, | |
6606 | "server" : { | |
6607 | "description" : "Server address (IP or DNS name).", | |
6608 | "format" : "address", | |
6609 | "optional" : 1, | |
6610 | "type" : "string" | |
6611 | }, | |
6612 | "ssl" : { | |
6613 | "default" : 0, | |
6614 | "description" : "Use SSL.", | |
6615 | "optional" : 1, | |
6616 | "type" : "boolean" | |
6617 | }, | |
6618 | "target" : { | |
6619 | "description" : "The target email address (where to deliver fetched mails).", | |
6620 | "maxLength" : 512, | |
6621 | "minLength" : 3, | |
6622 | "optional" : 1, | |
c5ccf1ab | 6623 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
732d76e1 DM |
6624 | "type" : "string" |
6625 | }, | |
6626 | "user" : { | |
6627 | "description" : "The user identification to be used when logging in to the server", | |
6628 | "maxLength" : 64, | |
6629 | "minLength" : 1, | |
6630 | "optional" : 1, | |
eff914dc DM |
6631 | "type" : "string" |
6632 | } | |
6633 | }, | |
6634 | "type" : "object" | |
6635 | } | |
6636 | }, | |
6637 | "PUT" : { | |
6bd70b95 | 6638 | "allowtoken" : 1, |
732d76e1 | 6639 | "description" : "Update fetchmail user configuration.", |
eff914dc DM |
6640 | "method" : "PUT", |
6641 | "name" : "write", | |
6642 | "parameters" : { | |
6643 | "additionalProperties" : 0, | |
6644 | "properties" : { | |
732d76e1 DM |
6645 | "enable" : { |
6646 | "default" : 0, | |
6647 | "description" : "Flag to enable or disable polling.", | |
6648 | "optional" : 1, | |
6649 | "type" : "boolean", | |
6650 | "typetext" : "<boolean>" | |
6651 | }, | |
6652 | "id" : { | |
6653 | "description" : "Unique ID", | |
6654 | "maxLength" : 16, | |
6655 | "pattern" : "[A-Za-z0-9]+", | |
6656 | "type" : "string" | |
6657 | }, | |
6658 | "interval" : { | |
6659 | "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.", | |
6660 | "maximum" : 2016, | |
6661 | "minimum" : 1, | |
6662 | "optional" : 1, | |
6663 | "type" : "integer", | |
6664 | "typetext" : "<integer> (1 - 2016)" | |
6665 | }, | |
6666 | "keep" : { | |
6667 | "default" : 0, | |
6668 | "description" : "Keep retrieved messages on the remote mailserver.", | |
6669 | "optional" : 1, | |
6670 | "type" : "boolean", | |
6671 | "typetext" : "<boolean>" | |
6672 | }, | |
6673 | "pass" : { | |
6674 | "description" : "The password used tfor server login.", | |
6675 | "maxLength" : 64, | |
6676 | "optional" : 1, | |
eff914dc DM |
6677 | "type" : "string", |
6678 | "typetext" : "<string>" | |
6679 | }, | |
732d76e1 DM |
6680 | "port" : { |
6681 | "description" : "Port number.", | |
6682 | "maximum" : 65535, | |
6683 | "minimum" : 1, | |
6684 | "optional" : 1, | |
6685 | "type" : "integer", | |
6686 | "typetext" : "<integer> (1 - 65535)" | |
6687 | }, | |
6688 | "protocol" : { | |
6689 | "description" : "Specify the protocol to use when communicating with the remote mailserver", | |
6690 | "enum" : [ | |
6691 | "pop3", | |
6692 | "imap" | |
6693 | ], | |
6694 | "optional" : 1, | |
6695 | "type" : "string" | |
6696 | }, | |
6697 | "server" : { | |
6698 | "description" : "Server address (IP or DNS name).", | |
6699 | "format" : "address", | |
6700 | "optional" : 1, | |
6701 | "type" : "string", | |
6702 | "typetext" : "<string>" | |
6703 | }, | |
6704 | "ssl" : { | |
6705 | "default" : 0, | |
6706 | "description" : "Use SSL.", | |
6707 | "optional" : 1, | |
6708 | "type" : "boolean", | |
6709 | "typetext" : "<boolean>" | |
6710 | }, | |
6711 | "target" : { | |
6712 | "description" : "The target email address (where to deliver fetched mails).", | |
6713 | "maxLength" : 512, | |
6714 | "minLength" : 3, | |
6715 | "optional" : 1, | |
c5ccf1ab | 6716 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
732d76e1 DM |
6717 | "type" : "string" |
6718 | }, | |
6719 | "user" : { | |
6720 | "description" : "The user identification to be used when logging in to the server", | |
6721 | "maxLength" : 64, | |
6722 | "minLength" : 1, | |
6723 | "optional" : 1, | |
eff914dc DM |
6724 | "type" : "string", |
6725 | "typetext" : "<string>" | |
6726 | } | |
6727 | } | |
6728 | }, | |
732d76e1 DM |
6729 | "permissions" : { |
6730 | "check" : [ | |
6731 | "admin" | |
6732 | ] | |
6733 | }, | |
eff914dc DM |
6734 | "protected" : 1, |
6735 | "proxyto" : "master", | |
6736 | "returns" : { | |
6737 | "type" : "null" | |
6738 | } | |
6739 | } | |
6740 | }, | |
6741 | "leaf" : 1, | |
732d76e1 DM |
6742 | "path" : "/config/fetchmail/{id}", |
6743 | "text" : "{id}" | |
eff914dc DM |
6744 | } |
6745 | ], | |
6746 | "info" : { | |
6747 | "GET" : { | |
6bd70b95 | 6748 | "allowtoken" : 1, |
732d76e1 | 6749 | "description" : "List fetchmail users.", |
eff914dc DM |
6750 | "method" : "GET", |
6751 | "name" : "index", | |
6752 | "parameters" : { | |
6753 | "additionalProperties" : 0 | |
6754 | }, | |
732d76e1 DM |
6755 | "permissions" : { |
6756 | "check" : [ | |
6757 | "admin", | |
6758 | "audit" | |
6759 | ] | |
6760 | }, | |
6761 | "protected" : 1, | |
eff914dc DM |
6762 | "proxyto" : "master", |
6763 | "returns" : { | |
6764 | "items" : { | |
6765 | "properties" : { | |
732d76e1 DM |
6766 | "enable" : { |
6767 | "default" : 0, | |
6768 | "description" : "Flag to enable or disable polling.", | |
6769 | "optional" : 1, | |
6770 | "type" : "boolean" | |
6771 | }, | |
6772 | "id" : { | |
6773 | "description" : "Unique ID", | |
6774 | "maxLength" : 16, | |
6775 | "pattern" : "[A-Za-z0-9]+", | |
eff914dc DM |
6776 | "type" : "string" |
6777 | }, | |
732d76e1 DM |
6778 | "interval" : { |
6779 | "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.", | |
6780 | "maximum" : 2016, | |
6781 | "minimum" : 1, | |
6782 | "optional" : 1, | |
6783 | "type" : "integer" | |
6784 | }, | |
6785 | "keep" : { | |
6786 | "default" : 0, | |
6787 | "description" : "Keep retrieved messages on the remote mailserver.", | |
6788 | "optional" : 1, | |
6789 | "type" : "boolean" | |
6790 | }, | |
6791 | "pass" : { | |
6792 | "description" : "The password used tfor server login.", | |
6793 | "maxLength" : 64, | |
6794 | "optional" : 1, | |
6795 | "type" : "string" | |
6796 | }, | |
6797 | "port" : { | |
6798 | "description" : "Port number.", | |
6799 | "maximum" : 65535, | |
6800 | "minimum" : 1, | |
6801 | "optional" : 1, | |
6802 | "type" : "integer" | |
6803 | }, | |
6804 | "protocol" : { | |
6805 | "description" : "Specify the protocol to use when communicating with the remote mailserver", | |
6806 | "enum" : [ | |
6807 | "pop3", | |
6808 | "imap" | |
6809 | ], | |
6810 | "optional" : 1, | |
6811 | "type" : "string" | |
6812 | }, | |
6813 | "server" : { | |
6814 | "description" : "Server address (IP or DNS name).", | |
6815 | "format" : "address", | |
6816 | "optional" : 1, | |
6817 | "type" : "string" | |
6818 | }, | |
6819 | "ssl" : { | |
6820 | "default" : 0, | |
6821 | "description" : "Use SSL.", | |
6822 | "optional" : 1, | |
6823 | "type" : "boolean" | |
6824 | }, | |
6825 | "target" : { | |
6826 | "description" : "The target email address (where to deliver fetched mails).", | |
6827 | "maxLength" : 512, | |
6828 | "minLength" : 3, | |
6829 | "optional" : 1, | |
c5ccf1ab | 6830 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
732d76e1 DM |
6831 | "type" : "string" |
6832 | }, | |
6833 | "user" : { | |
6834 | "description" : "The user identification to be used when logging in to the server", | |
6835 | "maxLength" : 64, | |
6836 | "minLength" : 1, | |
6837 | "optional" : 1, | |
eff914dc DM |
6838 | "type" : "string" |
6839 | } | |
6840 | }, | |
6841 | "type" : "object" | |
6842 | }, | |
6843 | "links" : [ | |
6844 | { | |
732d76e1 | 6845 | "href" : "{id}", |
eff914dc DM |
6846 | "rel" : "child" |
6847 | } | |
6848 | ], | |
6849 | "type" : "array" | |
6850 | } | |
6851 | }, | |
6852 | "POST" : { | |
6bd70b95 | 6853 | "allowtoken" : 1, |
732d76e1 | 6854 | "description" : "Create fetchmail user configuration.", |
eff914dc DM |
6855 | "method" : "POST", |
6856 | "name" : "create", | |
6857 | "parameters" : { | |
6858 | "additionalProperties" : 0, | |
6859 | "properties" : { | |
732d76e1 DM |
6860 | "enable" : { |
6861 | "default" : 0, | |
6862 | "description" : "Flag to enable or disable polling.", | |
6863 | "optional" : 1, | |
6864 | "type" : "boolean", | |
6865 | "typetext" : "<boolean>" | |
6866 | }, | |
6867 | "interval" : { | |
6868 | "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.", | |
6869 | "maximum" : 2016, | |
6870 | "minimum" : 1, | |
6871 | "optional" : 1, | |
6872 | "type" : "integer", | |
6873 | "typetext" : "<integer> (1 - 2016)" | |
6874 | }, | |
6875 | "keep" : { | |
6876 | "default" : 0, | |
6877 | "description" : "Keep retrieved messages on the remote mailserver.", | |
eff914dc | 6878 | "optional" : 1, |
732d76e1 DM |
6879 | "type" : "boolean", |
6880 | "typetext" : "<boolean>" | |
6881 | }, | |
6882 | "pass" : { | |
6883 | "description" : "The password used tfor server login.", | |
6884 | "maxLength" : 64, | |
eff914dc DM |
6885 | "type" : "string", |
6886 | "typetext" : "<string>" | |
6887 | }, | |
732d76e1 DM |
6888 | "port" : { |
6889 | "description" : "Port number.", | |
6890 | "maximum" : 65535, | |
6891 | "minimum" : 1, | |
6892 | "optional" : 1, | |
6893 | "type" : "integer", | |
6894 | "typetext" : "<integer> (1 - 65535)" | |
6895 | }, | |
6896 | "protocol" : { | |
6897 | "description" : "Specify the protocol to use when communicating with the remote mailserver", | |
6898 | "enum" : [ | |
6899 | "pop3", | |
6900 | "imap" | |
6901 | ], | |
6902 | "type" : "string" | |
6903 | }, | |
6904 | "server" : { | |
6905 | "description" : "Server address (IP or DNS name).", | |
6906 | "format" : "address", | |
6907 | "type" : "string", | |
6908 | "typetext" : "<string>" | |
6909 | }, | |
6910 | "ssl" : { | |
6911 | "default" : 0, | |
6912 | "description" : "Use SSL.", | |
6913 | "optional" : 1, | |
6914 | "type" : "boolean", | |
6915 | "typetext" : "<boolean>" | |
6916 | }, | |
6917 | "target" : { | |
6918 | "description" : "The target email address (where to deliver fetched mails).", | |
6919 | "maxLength" : 512, | |
6920 | "minLength" : 3, | |
c5ccf1ab | 6921 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
732d76e1 DM |
6922 | "type" : "string" |
6923 | }, | |
6924 | "user" : { | |
6925 | "description" : "The user identification to be used when logging in to the server", | |
6926 | "maxLength" : 64, | |
6927 | "minLength" : 1, | |
eff914dc DM |
6928 | "type" : "string", |
6929 | "typetext" : "<string>" | |
6930 | } | |
6931 | } | |
6932 | }, | |
732d76e1 DM |
6933 | "permissions" : { |
6934 | "check" : [ | |
6935 | "admin" | |
6936 | ] | |
6937 | }, | |
eff914dc DM |
6938 | "protected" : 1, |
6939 | "proxyto" : "master", | |
6940 | "returns" : { | |
732d76e1 DM |
6941 | "description" : "Unique ID", |
6942 | "maxLength" : 16, | |
6943 | "pattern" : "[A-Za-z0-9]+", | |
6944 | "type" : "string" | |
eff914dc DM |
6945 | } |
6946 | } | |
6947 | }, | |
6948 | "leaf" : 0, | |
732d76e1 DM |
6949 | "path" : "/config/fetchmail", |
6950 | "text" : "fetchmail" | |
eff914dc DM |
6951 | }, |
6952 | { | |
6953 | "children" : [ | |
6954 | { | |
6955 | "info" : { | |
6956 | "DELETE" : { | |
6bd70b95 | 6957 | "allowtoken" : 1, |
eff914dc DM |
6958 | "description" : "Delete a transport map entry", |
6959 | "method" : "DELETE", | |
6960 | "name" : "delete", | |
6961 | "parameters" : { | |
6962 | "additionalProperties" : 0, | |
6963 | "properties" : { | |
6964 | "domain" : { | |
6965 | "description" : "Domain name.", | |
f225b3b4 | 6966 | "format" : "transport-domain-or-email", |
eff914dc DM |
6967 | "type" : "string", |
6968 | "typetext" : "<string>" | |
6969 | } | |
6970 | } | |
6971 | }, | |
732d76e1 DM |
6972 | "permissions" : { |
6973 | "check" : [ | |
6974 | "admin" | |
6975 | ] | |
6976 | }, | |
eff914dc DM |
6977 | "protected" : 1, |
6978 | "proxyto" : "master", | |
6979 | "returns" : { | |
6980 | "type" : "null" | |
6981 | } | |
6982 | }, | |
6983 | "GET" : { | |
6bd70b95 | 6984 | "allowtoken" : 1, |
eff914dc DM |
6985 | "description" : "Read transport map entry.", |
6986 | "method" : "GET", | |
6987 | "name" : "read", | |
6988 | "parameters" : { | |
6989 | "additionalProperties" : 0, | |
6990 | "properties" : { | |
6991 | "domain" : { | |
6992 | "description" : "Domain name.", | |
f225b3b4 | 6993 | "format" : "transport-domain-or-email", |
eff914dc DM |
6994 | "type" : "string", |
6995 | "typetext" : "<string>" | |
6996 | } | |
6997 | } | |
6998 | }, | |
732d76e1 DM |
6999 | "permissions" : { |
7000 | "check" : [ | |
7001 | "admin", | |
7002 | "audit" | |
7003 | ] | |
7004 | }, | |
eff914dc DM |
7005 | "proxyto" : "master", |
7006 | "returns" : { | |
7007 | "properties" : { | |
7008 | "comment" : { | |
7009 | "type" : "string" | |
7010 | }, | |
7011 | "domain" : { | |
7012 | "type" : "string" | |
410dc2c9 | 7013 | }, |
eff914dc DM |
7014 | "host" : { |
7015 | "type" : "string" | |
7016 | }, | |
7017 | "port" : { | |
7018 | "type" : "integer" | |
7019 | }, | |
6bd70b95 TL |
7020 | "protocol" : { |
7021 | "type" : "string" | |
7022 | }, | |
eff914dc DM |
7023 | "use_mx" : { |
7024 | "type" : "boolean" | |
7025 | } | |
7026 | }, | |
7027 | "type" : "object" | |
7028 | } | |
7029 | }, | |
7030 | "PUT" : { | |
6bd70b95 | 7031 | "allowtoken" : 1, |
eff914dc DM |
7032 | "description" : "Update transport map entry.", |
7033 | "method" : "PUT", | |
7034 | "name" : "write", | |
7035 | "parameters" : { | |
7036 | "additionalProperties" : 0, | |
7037 | "properties" : { | |
7038 | "comment" : { | |
7039 | "description" : "Comment.", | |
410dc2c9 DM |
7040 | "optional" : 1, |
7041 | "type" : "string", | |
7042 | "typetext" : "<string>" | |
7043 | }, | |
eff914dc DM |
7044 | "domain" : { |
7045 | "description" : "Domain name.", | |
f225b3b4 | 7046 | "format" : "transport-domain-or-email", |
410dc2c9 DM |
7047 | "type" : "string", |
7048 | "typetext" : "<string>" | |
7049 | }, | |
eff914dc DM |
7050 | "host" : { |
7051 | "description" : "Target host (name or IP address).", | |
549cfb68 | 7052 | "format" : "transport-address", |
410dc2c9 DM |
7053 | "optional" : 1, |
7054 | "type" : "string", | |
7055 | "typetext" : "<string>" | |
7056 | }, | |
410dc2c9 | 7057 | "port" : { |
6bd70b95 | 7058 | "description" : "Transport port.", |
410dc2c9 DM |
7059 | "maximum" : 65535, |
7060 | "minimum" : 1, | |
7061 | "optional" : 1, | |
7062 | "type" : "integer", | |
7063 | "typetext" : "<integer> (1 - 65535)" | |
7064 | }, | |
6bd70b95 TL |
7065 | "protocol" : { |
7066 | "default" : "smtp", | |
7067 | "description" : "Transport protocol.", | |
7068 | "enum" : [ | |
7069 | "smtp", | |
7070 | "lmtp" | |
7071 | ], | |
7072 | "optional" : 1, | |
7073 | "type" : "string" | |
7074 | }, | |
eff914dc | 7075 | "use_mx" : { |
6bd70b95 | 7076 | "description" : "Enable MX lookups (SMTP).", |
410dc2c9 | 7077 | "optional" : 1, |
eff914dc DM |
7078 | "type" : "boolean", |
7079 | "typetext" : "<boolean>" | |
410dc2c9 | 7080 | } |
eff914dc | 7081 | } |
410dc2c9 | 7082 | }, |
732d76e1 DM |
7083 | "permissions" : { |
7084 | "check" : [ | |
7085 | "admin" | |
7086 | ] | |
7087 | }, | |
410dc2c9 DM |
7088 | "protected" : 1, |
7089 | "proxyto" : "master", | |
7090 | "returns" : { | |
7091 | "type" : "null" | |
7092 | } | |
7093 | } | |
7094 | }, | |
7095 | "leaf" : 1, | |
eff914dc DM |
7096 | "path" : "/config/transport/{domain}", |
7097 | "text" : "{domain}" | |
410dc2c9 DM |
7098 | } |
7099 | ], | |
7100 | "info" : { | |
7101 | "GET" : { | |
6bd70b95 | 7102 | "allowtoken" : 1, |
eff914dc | 7103 | "description" : "List transport map entries.", |
410dc2c9 DM |
7104 | "method" : "GET", |
7105 | "name" : "index", | |
7106 | "parameters" : { | |
7107 | "additionalProperties" : 0 | |
7108 | }, | |
732d76e1 DM |
7109 | "permissions" : { |
7110 | "check" : [ | |
7111 | "admin", | |
7112 | "audit" | |
7113 | ] | |
7114 | }, | |
410dc2c9 DM |
7115 | "proxyto" : "master", |
7116 | "returns" : { | |
7117 | "items" : { | |
7118 | "properties" : { | |
eff914dc | 7119 | "comment" : { |
410dc2c9 DM |
7120 | "type" : "string" |
7121 | }, | |
eff914dc | 7122 | "domain" : { |
410dc2c9 DM |
7123 | "type" : "string" |
7124 | }, | |
eff914dc | 7125 | "host" : { |
410dc2c9 | 7126 | "type" : "string" |
eff914dc DM |
7127 | }, |
7128 | "port" : { | |
7129 | "type" : "integer" | |
7130 | }, | |
6bd70b95 TL |
7131 | "protocol" : { |
7132 | "type" : "string" | |
7133 | }, | |
eff914dc DM |
7134 | "use_mx" : { |
7135 | "type" : "boolean" | |
410dc2c9 DM |
7136 | } |
7137 | }, | |
7138 | "type" : "object" | |
7139 | }, | |
7140 | "links" : [ | |
7141 | { | |
c061d61d | 7142 | "href" : "{domain}", |
410dc2c9 DM |
7143 | "rel" : "child" |
7144 | } | |
7145 | ], | |
7146 | "type" : "array" | |
7147 | } | |
7148 | }, | |
7149 | "POST" : { | |
6bd70b95 | 7150 | "allowtoken" : 1, |
eff914dc | 7151 | "description" : "Add transport map entry.", |
410dc2c9 DM |
7152 | "method" : "POST", |
7153 | "name" : "create", | |
7154 | "parameters" : { | |
7155 | "additionalProperties" : 0, | |
7156 | "properties" : { | |
eff914dc DM |
7157 | "comment" : { |
7158 | "description" : "Comment.", | |
410dc2c9 DM |
7159 | "optional" : 1, |
7160 | "type" : "string", | |
7161 | "typetext" : "<string>" | |
7162 | }, | |
eff914dc DM |
7163 | "domain" : { |
7164 | "description" : "Domain name.", | |
f225b3b4 | 7165 | "format" : "transport-domain-or-email", |
410dc2c9 DM |
7166 | "type" : "string", |
7167 | "typetext" : "<string>" | |
7168 | }, | |
eff914dc DM |
7169 | "host" : { |
7170 | "description" : "Target host (name or IP address).", | |
549cfb68 | 7171 | "format" : "transport-address", |
410dc2c9 DM |
7172 | "type" : "string", |
7173 | "typetext" : "<string>" | |
7174 | }, | |
410dc2c9 | 7175 | "port" : { |
eff914dc | 7176 | "default" : 25, |
6bd70b95 | 7177 | "description" : "Transport port.", |
410dc2c9 DM |
7178 | "maximum" : 65535, |
7179 | "minimum" : 1, | |
7180 | "optional" : 1, | |
7181 | "type" : "integer", | |
7182 | "typetext" : "<integer> (1 - 65535)" | |
7183 | }, | |
6bd70b95 TL |
7184 | "protocol" : { |
7185 | "default" : "smtp", | |
7186 | "description" : "Transport protocol.", | |
7187 | "enum" : [ | |
7188 | "smtp", | |
7189 | "lmtp" | |
7190 | ], | |
7191 | "optional" : 1, | |
7192 | "type" : "string" | |
7193 | }, | |
eff914dc DM |
7194 | "use_mx" : { |
7195 | "default" : 1, | |
6bd70b95 | 7196 | "description" : "Enable MX lookups (SMTP).", |
410dc2c9 | 7197 | "optional" : 1, |
eff914dc DM |
7198 | "type" : "boolean", |
7199 | "typetext" : "<boolean>" | |
410dc2c9 | 7200 | } |
eff914dc | 7201 | } |
410dc2c9 | 7202 | }, |
732d76e1 DM |
7203 | "permissions" : { |
7204 | "check" : [ | |
7205 | "admin" | |
7206 | ] | |
7207 | }, | |
410dc2c9 DM |
7208 | "protected" : 1, |
7209 | "proxyto" : "master", | |
7210 | "returns" : { | |
7211 | "type" : "null" | |
7212 | } | |
7213 | } | |
7214 | }, | |
7215 | "leaf" : 0, | |
eff914dc DM |
7216 | "path" : "/config/transport", |
7217 | "text" : "transport" | |
410dc2c9 DM |
7218 | }, |
7219 | { | |
7220 | "children" : [ | |
7221 | { | |
7222 | "info" : { | |
7223 | "DELETE" : { | |
6bd70b95 | 7224 | "allowtoken" : 1, |
eff914dc | 7225 | "description" : "Delete a truster network", |
410dc2c9 DM |
7226 | "method" : "DELETE", |
7227 | "name" : "delete", | |
7228 | "parameters" : { | |
7229 | "additionalProperties" : 0, | |
7230 | "properties" : { | |
eff914dc DM |
7231 | "cidr" : { |
7232 | "description" : "IPv4 or IPv6 network in CIDR notation.", | |
7233 | "format" : "CIDR", | |
7234 | "type" : "string", | |
7235 | "typetext" : "<string>" | |
7236 | } | |
7237 | } | |
7238 | }, | |
732d76e1 DM |
7239 | "permissions" : { |
7240 | "check" : [ | |
7241 | "admin" | |
7242 | ] | |
7243 | }, | |
eff914dc DM |
7244 | "protected" : 1, |
7245 | "proxyto" : "master", | |
7246 | "returns" : { | |
7247 | "type" : "null" | |
7248 | } | |
7249 | }, | |
7250 | "GET" : { | |
6bd70b95 | 7251 | "allowtoken" : 1, |
eff914dc DM |
7252 | "description" : "Read trusted network data (comment).", |
7253 | "method" : "GET", | |
7254 | "name" : "read", | |
7255 | "parameters" : { | |
7256 | "additionalProperties" : 0, | |
7257 | "properties" : { | |
7258 | "cidr" : { | |
7259 | "description" : "IPv4 or IPv6 network in CIDR notation.", | |
7260 | "format" : "CIDR", | |
7261 | "type" : "string", | |
7262 | "typetext" : "<string>" | |
7263 | } | |
7264 | } | |
7265 | }, | |
732d76e1 DM |
7266 | "permissions" : { |
7267 | "check" : [ | |
7268 | "admin", | |
7269 | "audit" | |
7270 | ] | |
7271 | }, | |
eff914dc DM |
7272 | "proxyto" : "master", |
7273 | "returns" : { | |
7274 | "properties" : { | |
7275 | "cidr" : { | |
7276 | "type" : "string" | |
7277 | }, | |
7278 | "comment" : { | |
7279 | "type" : "string" | |
7280 | } | |
7281 | }, | |
7282 | "type" : "object" | |
7283 | } | |
7284 | }, | |
7285 | "PUT" : { | |
6bd70b95 | 7286 | "allowtoken" : 1, |
eff914dc DM |
7287 | "description" : "Update trusted data (comment).", |
7288 | "method" : "PUT", | |
7289 | "name" : "write", | |
7290 | "parameters" : { | |
7291 | "additionalProperties" : 0, | |
7292 | "properties" : { | |
7293 | "cidr" : { | |
7294 | "description" : "IPv4 or IPv6 network in CIDR notation.", | |
7295 | "type" : "string", | |
7296 | "typetext" : "<string>" | |
7297 | }, | |
7298 | "comment" : { | |
7299 | "description" : "Comment.", | |
410dc2c9 DM |
7300 | "type" : "string", |
7301 | "typetext" : "<string>" | |
7302 | } | |
7303 | } | |
7304 | }, | |
732d76e1 DM |
7305 | "permissions" : { |
7306 | "check" : [ | |
7307 | "admin" | |
7308 | ] | |
7309 | }, | |
410dc2c9 DM |
7310 | "protected" : 1, |
7311 | "proxyto" : "master", | |
7312 | "returns" : { | |
7313 | "type" : "null" | |
7314 | } | |
7315 | } | |
7316 | }, | |
7317 | "leaf" : 1, | |
eff914dc DM |
7318 | "path" : "/config/mynetworks/{cidr}", |
7319 | "text" : "{cidr}" | |
410dc2c9 DM |
7320 | } |
7321 | ], | |
7322 | "info" : { | |
7323 | "GET" : { | |
6bd70b95 | 7324 | "allowtoken" : 1, |
eff914dc | 7325 | "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.", |
410dc2c9 DM |
7326 | "method" : "GET", |
7327 | "name" : "index", | |
7328 | "parameters" : { | |
7329 | "additionalProperties" : 0 | |
7330 | }, | |
732d76e1 DM |
7331 | "permissions" : { |
7332 | "check" : [ | |
7333 | "admin", | |
7334 | "audit" | |
7335 | ] | |
7336 | }, | |
410dc2c9 DM |
7337 | "proxyto" : "master", |
7338 | "returns" : { | |
7339 | "items" : { | |
7340 | "properties" : { | |
eff914dc | 7341 | "cidr" : { |
410dc2c9 DM |
7342 | "type" : "string" |
7343 | } | |
7344 | }, | |
7345 | "type" : "object" | |
7346 | }, | |
7347 | "links" : [ | |
7348 | { | |
c061d61d | 7349 | "href" : "{cidr}", |
410dc2c9 DM |
7350 | "rel" : "child" |
7351 | } | |
7352 | ], | |
7353 | "type" : "array" | |
7354 | } | |
7355 | }, | |
7356 | "POST" : { | |
6bd70b95 | 7357 | "allowtoken" : 1, |
eff914dc | 7358 | "description" : "Add a trusted network.", |
410dc2c9 DM |
7359 | "method" : "POST", |
7360 | "name" : "create", | |
7361 | "parameters" : { | |
7362 | "additionalProperties" : 0, | |
7363 | "properties" : { | |
eff914dc DM |
7364 | "cidr" : { |
7365 | "description" : "IPv4 or IPv6 network in CIDR notation.", | |
7366 | "format" : "CIDR", | |
7367 | "type" : "string", | |
7368 | "typetext" : "<string>" | |
7369 | }, | |
7370 | "comment" : { | |
7371 | "description" : "Comment.", | |
7372 | "optional" : 1, | |
410dc2c9 DM |
7373 | "type" : "string", |
7374 | "typetext" : "<string>" | |
7375 | } | |
7376 | } | |
7377 | }, | |
732d76e1 DM |
7378 | "permissions" : { |
7379 | "check" : [ | |
7380 | "admin" | |
7381 | ] | |
7382 | }, | |
410dc2c9 DM |
7383 | "protected" : 1, |
7384 | "proxyto" : "master", | |
7385 | "returns" : { | |
7386 | "type" : "null" | |
7387 | } | |
7388 | } | |
7389 | }, | |
7390 | "leaf" : 0, | |
eff914dc DM |
7391 | "path" : "/config/mynetworks", |
7392 | "text" : "mynetworks" | |
410dc2c9 DM |
7393 | }, |
7394 | { | |
d7cd791b DM |
7395 | "children" : [ |
7396 | { | |
7397 | "info" : { | |
7398 | "GET" : { | |
6bd70b95 | 7399 | "allowtoken" : 1, |
d7cd791b DM |
7400 | "description" : "Cluster node index.", |
7401 | "method" : "GET", | |
7402 | "name" : "nodes", | |
7403 | "parameters" : { | |
7404 | "additionalProperties" : 0 | |
7405 | }, | |
7406 | "permissions" : { | |
7407 | "check" : [ | |
bb6e6e0d DM |
7408 | "admin", |
7409 | "qmanager", | |
7410 | "audit" | |
d7cd791b DM |
7411 | ] |
7412 | }, | |
7413 | "returns" : { | |
7414 | "items" : { | |
7415 | "properties" : { | |
7416 | "cid" : { | |
7417 | "type" : "integer" | |
7418 | }, | |
7419 | "fingerprint" : { | |
7420 | "type" : "string" | |
7421 | }, | |
7422 | "hostrsapubkey" : { | |
7423 | "type" : "string" | |
7424 | }, | |
7425 | "ip" : { | |
7426 | "type" : "string" | |
7427 | }, | |
7428 | "name" : { | |
7429 | "type" : "string" | |
7430 | }, | |
7431 | "rootrsapubkey" : { | |
7432 | "type" : "string" | |
7433 | }, | |
7434 | "type" : { | |
7435 | "type" : "string" | |
7436 | } | |
7437 | }, | |
7438 | "type" : "object" | |
7439 | }, | |
d7cd791b DM |
7440 | "type" : "array" |
7441 | } | |
7442 | }, | |
7443 | "POST" : { | |
6bd70b95 | 7444 | "allowtoken" : 1, |
d7cd791b DM |
7445 | "description" : "Add an node to the cluster config.", |
7446 | "method" : "POST", | |
7447 | "name" : "add_node", | |
7448 | "parameters" : { | |
7449 | "additionalProperties" : 0, | |
7450 | "properties" : { | |
7451 | "fingerprint" : { | |
7452 | "description" : "SSL certificate fingerprint.", | |
7453 | "optional" : 0, | |
7454 | "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$", | |
7455 | "type" : "string" | |
7456 | }, | |
7457 | "hostrsapubkey" : { | |
7458 | "description" : "Public SSH RSA key for the host.", | |
7459 | "optional" : 0, | |
e0e71e6a | 7460 | "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$", |
d7cd791b DM |
7461 | "type" : "string" |
7462 | }, | |
7463 | "ip" : { | |
7464 | "description" : "IP address.", | |
7465 | "format" : "ip", | |
7466 | "optional" : 0, | |
7467 | "type" : "string", | |
7468 | "typetext" : "<string>" | |
7469 | }, | |
7470 | "maxcid" : { | |
7471 | "description" : "Maximum used cluster node ID (used internally, do not modify).", | |
7472 | "minimum" : 1, | |
7473 | "optional" : 1, | |
7474 | "type" : "integer", | |
7475 | "typetext" : "<integer> (1 - N)" | |
7476 | }, | |
7477 | "name" : { | |
7478 | "description" : "Node name.", | |
7479 | "format" : "pve-node", | |
7480 | "optional" : 0, | |
7481 | "type" : "string", | |
7482 | "typetext" : "<string>" | |
7483 | }, | |
7484 | "rootrsapubkey" : { | |
7485 | "description" : "Public SSH RSA key for the root user.", | |
7486 | "optional" : 0, | |
e0e71e6a | 7487 | "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$", |
d7cd791b DM |
7488 | "type" : "string" |
7489 | } | |
7490 | }, | |
7491 | "type" : "object" | |
7492 | }, | |
7493 | "protected" : 1, | |
7494 | "proxyto" : "master", | |
7495 | "returns" : { | |
7496 | "description" : "Returns the resulting node list.", | |
7497 | "items" : { | |
7498 | "properties" : { | |
7499 | "cid" : { | |
7500 | "type" : "integer" | |
7501 | } | |
7502 | }, | |
7503 | "type" : "object" | |
7504 | }, | |
7505 | "type" : "array" | |
7506 | } | |
7507 | } | |
7508 | }, | |
7509 | "leaf" : 1, | |
7510 | "path" : "/config/cluster/nodes", | |
7511 | "text" : "nodes" | |
7512 | }, | |
7513 | { | |
7514 | "info" : { | |
7515 | "GET" : { | |
6bd70b95 | 7516 | "allowtoken" : 1, |
d7cd791b DM |
7517 | "description" : "Cluster node status.", |
7518 | "method" : "GET", | |
7519 | "name" : "status", | |
7520 | "parameters" : { | |
bb6e6e0d DM |
7521 | "additionalProperties" : 0, |
7522 | "properties" : { | |
7523 | "list_single_node" : { | |
7524 | "default" : 0, | |
7525 | "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.", | |
7526 | "optional" : 1, | |
7527 | "type" : "boolean", | |
7528 | "typetext" : "<boolean>" | |
7529 | } | |
7530 | } | |
d7cd791b DM |
7531 | }, |
7532 | "permissions" : { | |
7533 | "check" : [ | |
bb6e6e0d DM |
7534 | "admin", |
7535 | "qmanager", | |
7536 | "audit" | |
d7cd791b DM |
7537 | ] |
7538 | }, | |
7539 | "returns" : { | |
7540 | "items" : { | |
7541 | "properties" : { | |
7542 | "cid" : { | |
7543 | "type" : "integer" | |
7544 | }, | |
7545 | "fingerprint" : { | |
7546 | "type" : "string" | |
7547 | }, | |
7548 | "hostrsapubkey" : { | |
7549 | "type" : "string" | |
7550 | }, | |
7551 | "ip" : { | |
7552 | "type" : "string" | |
7553 | }, | |
7554 | "name" : { | |
7555 | "type" : "string" | |
7556 | }, | |
7557 | "rootrsapubkey" : { | |
7558 | "type" : "string" | |
7559 | }, | |
7560 | "type" : { | |
7561 | "type" : "string" | |
7562 | } | |
7563 | }, | |
7564 | "type" : "object" | |
7565 | }, | |
7566 | "links" : [ | |
7567 | { | |
7568 | "href" : "{cid}", | |
7569 | "rel" : "child" | |
7570 | } | |
7571 | ], | |
7572 | "type" : "array" | |
7573 | } | |
7574 | } | |
7575 | }, | |
7576 | "leaf" : 1, | |
7577 | "path" : "/config/cluster/status", | |
7578 | "text" : "status" | |
7579 | }, | |
7580 | { | |
7581 | "info" : { | |
7582 | "POST" : { | |
6bd70b95 | 7583 | "allowtoken" : 1, |
d7cd791b DM |
7584 | "description" : "Create initial cluster config with current node as master.", |
7585 | "method" : "POST", | |
7586 | "name" : "create", | |
7587 | "parameters" : { | |
7588 | "additionalProperties" : 0 | |
7589 | }, | |
7590 | "protected" : 1, | |
7591 | "returns" : { | |
7592 | "type" : "string" | |
7593 | } | |
7594 | } | |
7595 | }, | |
7596 | "leaf" : 1, | |
7597 | "path" : "/config/cluster/create", | |
7598 | "text" : "create" | |
7599 | }, | |
7600 | { | |
7601 | "info" : { | |
7602 | "POST" : { | |
6bd70b95 | 7603 | "allowtoken" : 1, |
d7cd791b DM |
7604 | "description" : "Join local node to an existing cluster.", |
7605 | "method" : "POST", | |
7606 | "name" : "join", | |
7607 | "parameters" : { | |
7608 | "additionalProperties" : 0, | |
7609 | "properties" : { | |
7610 | "fingerprint" : { | |
7611 | "description" : "SSL certificate fingerprint.", | |
7612 | "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$", | |
7613 | "type" : "string" | |
7614 | }, | |
7615 | "master_ip" : { | |
7616 | "description" : "IP address.", | |
7617 | "format" : "ip", | |
7618 | "type" : "string", | |
7619 | "typetext" : "<string>" | |
7620 | }, | |
7621 | "password" : { | |
7622 | "description" : "Superuser password.", | |
7623 | "maxLength" : 128, | |
7624 | "type" : "string", | |
7625 | "typetext" : "<string>" | |
7626 | } | |
7627 | } | |
7628 | }, | |
7629 | "protected" : 1, | |
7630 | "returns" : { | |
7631 | "type" : "string" | |
7632 | } | |
7633 | } | |
7634 | }, | |
7635 | "leaf" : 1, | |
7636 | "path" : "/config/cluster/join", | |
7637 | "text" : "join" | |
c5ccf1ab TL |
7638 | }, |
7639 | { | |
7640 | "info" : { | |
7641 | "POST" : { | |
7642 | "allowtoken" : 1, | |
7643 | "description" : "Update API certificate fingerprints (by fetching it via ssh).", | |
7644 | "method" : "POST", | |
7645 | "name" : "update_fingerprints", | |
7646 | "parameters" : { | |
7647 | "additionalProperties" : 0 | |
7648 | }, | |
7649 | "protected" : 1, | |
7650 | "proxyto" : "master", | |
7651 | "returns" : { | |
7652 | "type" : "null" | |
7653 | } | |
7654 | } | |
7655 | }, | |
7656 | "leaf" : 1, | |
7657 | "path" : "/config/cluster/update-fingerprints", | |
7658 | "text" : "update-fingerprints" | |
d7cd791b DM |
7659 | } |
7660 | ], | |
410dc2c9 DM |
7661 | "info" : { |
7662 | "GET" : { | |
6bd70b95 | 7663 | "allowtoken" : 1, |
d7cd791b | 7664 | "description" : "Directory index.", |
410dc2c9 DM |
7665 | "method" : "GET", |
7666 | "name" : "index", | |
7667 | "parameters" : { | |
7668 | "additionalProperties" : 0 | |
7669 | }, | |
d7cd791b DM |
7670 | "permissions" : { |
7671 | "user" : "all" | |
7672 | }, | |
410dc2c9 DM |
7673 | "returns" : { |
7674 | "items" : { | |
d7cd791b | 7675 | "properties" : {}, |
410dc2c9 DM |
7676 | "type" : "object" |
7677 | }, | |
7678 | "links" : [ | |
7679 | { | |
d7cd791b | 7680 | "href" : "{name}", |
410dc2c9 DM |
7681 | "rel" : "child" |
7682 | } | |
7683 | ], | |
7684 | "type" : "array" | |
7685 | } | |
7686 | } | |
7687 | }, | |
d7cd791b | 7688 | "leaf" : 0, |
410dc2c9 DM |
7689 | "path" : "/config/cluster", |
7690 | "text" : "cluster" | |
7691 | }, | |
9fda36b0 DM |
7692 | { |
7693 | "info" : { | |
7694 | "GET" : { | |
6bd70b95 | 7695 | "allowtoken" : 1, |
9fda36b0 DM |
7696 | "description" : "Get Mime Types List", |
7697 | "method" : "GET", | |
7698 | "name" : "index", | |
7699 | "parameters" : { | |
7700 | "additionalProperties" : 0 | |
7701 | }, | |
7702 | "returns" : { | |
7703 | "items" : { | |
7704 | "properties" : { | |
7705 | "mimetype" : { | |
7706 | "type" : "string" | |
7707 | }, | |
7708 | "text" : { | |
7709 | "type" : "string" | |
7710 | } | |
7711 | }, | |
7712 | "type" : "object" | |
7713 | }, | |
7714 | "type" : "array" | |
7715 | } | |
7716 | } | |
7717 | }, | |
7718 | "leaf" : 1, | |
7719 | "path" : "/config/mimetypes", | |
7720 | "text" : "mimetypes" | |
7721 | }, | |
241ac83c TL |
7722 | { |
7723 | "children" : [ | |
7724 | { | |
7725 | "info" : { | |
7726 | "DELETE" : { | |
6bd70b95 | 7727 | "allowtoken" : 1, |
241ac83c TL |
7728 | "description" : "Delete a tls_policy entry", |
7729 | "method" : "DELETE", | |
7730 | "name" : "delete", | |
7731 | "parameters" : { | |
7732 | "additionalProperties" : 0, | |
7733 | "properties" : { | |
549cfb68 TL |
7734 | "destination" : { |
7735 | "description" : "Destination (Domain or next-hop).", | |
7736 | "format" : "transport-domain-or-nexthop", | |
241ac83c TL |
7737 | "type" : "string", |
7738 | "typetext" : "<string>" | |
7739 | } | |
7740 | } | |
7741 | }, | |
7742 | "permissions" : { | |
7743 | "check" : [ | |
7744 | "admin" | |
7745 | ] | |
7746 | }, | |
7747 | "protected" : 1, | |
7748 | "proxyto" : "master", | |
7749 | "returns" : { | |
7750 | "type" : "null" | |
7751 | } | |
7752 | }, | |
7753 | "GET" : { | |
6bd70b95 | 7754 | "allowtoken" : 1, |
241ac83c TL |
7755 | "description" : "Read tls_policy entry.", |
7756 | "method" : "GET", | |
7757 | "name" : "read", | |
7758 | "parameters" : { | |
7759 | "additionalProperties" : 0, | |
7760 | "properties" : { | |
549cfb68 TL |
7761 | "destination" : { |
7762 | "description" : "Destination (Domain or next-hop).", | |
7763 | "format" : "transport-domain-or-nexthop", | |
241ac83c TL |
7764 | "type" : "string", |
7765 | "typetext" : "<string>" | |
7766 | } | |
7767 | } | |
7768 | }, | |
7769 | "permissions" : { | |
7770 | "check" : [ | |
7771 | "admin", | |
7772 | "audit" | |
7773 | ] | |
7774 | }, | |
7775 | "proxyto" : "master", | |
7776 | "returns" : { | |
7777 | "properties" : { | |
549cfb68 TL |
7778 | "destination" : { |
7779 | "format" : "transport-domain-or-nexthop", | |
7780 | "type" : "string" | |
7781 | }, | |
241ac83c TL |
7782 | "policy" : { |
7783 | "format" : "tls-policy", | |
7784 | "type" : "string" | |
7785 | } | |
7786 | }, | |
7787 | "type" : "object" | |
7788 | } | |
7789 | }, | |
7790 | "PUT" : { | |
6bd70b95 | 7791 | "allowtoken" : 1, |
241ac83c TL |
7792 | "description" : "Update tls_policy entry.", |
7793 | "method" : "PUT", | |
7794 | "name" : "write", | |
7795 | "parameters" : { | |
7796 | "additionalProperties" : 0, | |
7797 | "properties" : { | |
549cfb68 TL |
7798 | "destination" : { |
7799 | "description" : "Destination (Domain or next-hop).", | |
7800 | "format" : "transport-domain-or-nexthop", | |
241ac83c TL |
7801 | "type" : "string", |
7802 | "typetext" : "<string>" | |
7803 | }, | |
7804 | "policy" : { | |
7805 | "description" : "TLS policy", | |
7806 | "format" : "tls-policy-strict", | |
7807 | "type" : "string", | |
7808 | "typetext" : "<string>" | |
7809 | } | |
7810 | } | |
7811 | }, | |
7812 | "permissions" : { | |
7813 | "check" : [ | |
7814 | "admin" | |
7815 | ] | |
7816 | }, | |
7817 | "protected" : 1, | |
7818 | "proxyto" : "master", | |
7819 | "returns" : { | |
7820 | "type" : "null" | |
7821 | } | |
7822 | } | |
7823 | }, | |
7824 | "leaf" : 1, | |
549cfb68 TL |
7825 | "path" : "/config/tlspolicy/{destination}", |
7826 | "text" : "{destination}" | |
241ac83c TL |
7827 | } |
7828 | ], | |
7829 | "info" : { | |
7830 | "GET" : { | |
6bd70b95 | 7831 | "allowtoken" : 1, |
241ac83c TL |
7832 | "description" : "List tls_policy entries.", |
7833 | "method" : "GET", | |
7834 | "name" : "index", | |
7835 | "parameters" : { | |
7836 | "additionalProperties" : 0 | |
7837 | }, | |
7838 | "permissions" : { | |
7839 | "check" : [ | |
7840 | "admin", | |
7841 | "audit" | |
7842 | ] | |
7843 | }, | |
7844 | "proxyto" : "master", | |
7845 | "returns" : { | |
7846 | "items" : { | |
7847 | "properties" : { | |
549cfb68 TL |
7848 | "destination" : { |
7849 | "format" : "transport-domain-or-nexthop", | |
7850 | "type" : "string" | |
7851 | }, | |
241ac83c TL |
7852 | "policy" : { |
7853 | "format" : "tls-policy", | |
7854 | "type" : "string" | |
7855 | } | |
7856 | }, | |
7857 | "type" : "object" | |
7858 | }, | |
7859 | "links" : [ | |
7860 | { | |
549cfb68 | 7861 | "href" : "{destination}", |
241ac83c TL |
7862 | "rel" : "child" |
7863 | } | |
7864 | ], | |
7865 | "type" : "array" | |
7866 | } | |
7867 | }, | |
7868 | "POST" : { | |
6bd70b95 | 7869 | "allowtoken" : 1, |
241ac83c TL |
7870 | "description" : "Add tls_policy entry.", |
7871 | "method" : "POST", | |
7872 | "name" : "create", | |
7873 | "parameters" : { | |
7874 | "additionalProperties" : 0, | |
7875 | "properties" : { | |
549cfb68 TL |
7876 | "destination" : { |
7877 | "description" : "Destination (Domain or next-hop).", | |
7878 | "format" : "transport-domain-or-nexthop", | |
241ac83c TL |
7879 | "type" : "string", |
7880 | "typetext" : "<string>" | |
7881 | }, | |
7882 | "policy" : { | |
7883 | "description" : "TLS policy", | |
7884 | "format" : "tls-policy-strict", | |
7885 | "type" : "string", | |
7886 | "typetext" : "<string>" | |
7887 | } | |
7888 | } | |
7889 | }, | |
7890 | "permissions" : { | |
7891 | "check" : [ | |
7892 | "admin" | |
7893 | ] | |
7894 | }, | |
7895 | "protected" : 1, | |
7896 | "proxyto" : "master", | |
7897 | "returns" : { | |
7898 | "type" : "null" | |
7899 | } | |
7900 | } | |
7901 | }, | |
7902 | "leaf" : 0, | |
7903 | "path" : "/config/tlspolicy", | |
7904 | "text" : "tlspolicy" | |
7905 | }, | |
8c308065 TL |
7906 | { |
7907 | "children" : [ | |
7908 | { | |
7909 | "info" : { | |
7910 | "DELETE" : { | |
7911 | "allowtoken" : 1, | |
7912 | "description" : "Delete a tls_inbound_domains entry", | |
7913 | "method" : "DELETE", | |
7914 | "name" : "delete", | |
7915 | "parameters" : { | |
7916 | "additionalProperties" : 0, | |
7917 | "properties" : { | |
7918 | "domain" : { | |
7919 | "description" : "Domain which should be removed from tls_inbound_domains", | |
7920 | "format" : "transport-domain", | |
7921 | "type" : "string", | |
7922 | "typetext" : "<string>" | |
7923 | } | |
7924 | } | |
7925 | }, | |
7926 | "permissions" : { | |
7927 | "check" : [ | |
7928 | "admin" | |
7929 | ] | |
7930 | }, | |
7931 | "protected" : 1, | |
7932 | "proxyto" : "master", | |
7933 | "returns" : { | |
7934 | "type" : "null" | |
7935 | } | |
7936 | } | |
7937 | }, | |
7938 | "leaf" : 1, | |
7939 | "path" : "/config/tls-inbound-domains/{domain}", | |
7940 | "text" : "{domain}" | |
7941 | } | |
7942 | ], | |
7943 | "info" : { | |
7944 | "GET" : { | |
7945 | "allowtoken" : 1, | |
7946 | "description" : "List tls_inbound_domains entries.", | |
7947 | "method" : "GET", | |
7948 | "name" : "index", | |
7949 | "parameters" : { | |
7950 | "additionalProperties" : 0 | |
7951 | }, | |
7952 | "permissions" : { | |
7953 | "check" : [ | |
7954 | "admin", | |
7955 | "audit" | |
7956 | ] | |
7957 | }, | |
7958 | "proxyto" : "master", | |
7959 | "returns" : { | |
7960 | "description" : "List of domains for which TLS will be enforced on incoming connections", | |
7961 | "items" : { | |
7962 | "format" : "transport-domain", | |
7963 | "type" : "string" | |
7964 | }, | |
7965 | "links" : [ | |
7966 | { | |
7967 | "href" : "{domain}", | |
7968 | "rel" : "child" | |
7969 | } | |
7970 | ], | |
7971 | "type" : "array" | |
7972 | } | |
7973 | }, | |
7974 | "POST" : { | |
7975 | "allowtoken" : 1, | |
7976 | "description" : "Add new tls_inbound_domains entry.", | |
7977 | "method" : "POST", | |
7978 | "name" : "create", | |
7979 | "parameters" : { | |
7980 | "additionalProperties" : 0, | |
7981 | "properties" : { | |
7982 | "domain" : { | |
7983 | "description" : "Domain for which TLS should be enforced on incoming connections", | |
7984 | "format" : "transport-domain", | |
7985 | "type" : "string", | |
7986 | "typetext" : "<string>" | |
7987 | } | |
7988 | } | |
7989 | }, | |
7990 | "permissions" : { | |
7991 | "check" : [ | |
7992 | "admin" | |
7993 | ] | |
7994 | }, | |
7995 | "protected" : 1, | |
7996 | "proxyto" : "master", | |
7997 | "returns" : { | |
7998 | "type" : "null" | |
7999 | } | |
8000 | } | |
8001 | }, | |
8002 | "leaf" : 0, | |
8003 | "path" : "/config/tls-inbound-domains", | |
8004 | "text" : "tls-inbound-domains" | |
8005 | }, | |
410dc2c9 | 8006 | { |
d210277a TL |
8007 | "children" : [ |
8008 | { | |
8009 | "children" : [ | |
8010 | { | |
8011 | "info" : { | |
8012 | "DELETE" : { | |
6bd70b95 | 8013 | "allowtoken" : 1, |
d210277a TL |
8014 | "description" : "Delete a DKIM-sign domain", |
8015 | "method" : "DELETE", | |
8016 | "name" : "delete", | |
8017 | "parameters" : { | |
8018 | "additionalProperties" : 0, | |
8019 | "properties" : { | |
8020 | "domain" : { | |
8021 | "description" : "Domain name.", | |
8022 | "format" : "transport-domain", | |
8023 | "type" : "string", | |
8024 | "typetext" : "<string>" | |
8025 | } | |
8026 | } | |
8027 | }, | |
8028 | "permissions" : { | |
8029 | "check" : [ | |
8030 | "admin" | |
8031 | ] | |
8032 | }, | |
8033 | "protected" : 1, | |
8034 | "proxyto" : "master", | |
8035 | "returns" : { | |
8036 | "type" : "null" | |
8037 | } | |
8038 | }, | |
8039 | "GET" : { | |
6bd70b95 | 8040 | "allowtoken" : 1, |
d210277a TL |
8041 | "description" : "Read Domain data (comment).", |
8042 | "method" : "GET", | |
8043 | "name" : "read", | |
8044 | "parameters" : { | |
8045 | "additionalProperties" : 0, | |
8046 | "properties" : { | |
8047 | "domain" : { | |
8048 | "description" : "Domain name.", | |
8049 | "format" : "transport-domain", | |
8050 | "type" : "string", | |
8051 | "typetext" : "<string>" | |
8052 | } | |
8053 | } | |
8054 | }, | |
8055 | "permissions" : { | |
8056 | "check" : [ | |
8057 | "admin", | |
8058 | "audit" | |
8059 | ] | |
8060 | }, | |
8061 | "proxyto" : "master", | |
8062 | "returns" : { | |
8063 | "properties" : { | |
8064 | "comment" : { | |
8065 | "type" : "string" | |
8066 | }, | |
8067 | "domain" : { | |
8068 | "type" : "string" | |
8069 | } | |
8070 | }, | |
8071 | "type" : "object" | |
8072 | } | |
8073 | }, | |
8074 | "PUT" : { | |
6bd70b95 | 8075 | "allowtoken" : 1, |
d210277a TL |
8076 | "description" : "Update DKIM-sign domain data (comment).", |
8077 | "method" : "PUT", | |
8078 | "name" : "write", | |
8079 | "parameters" : { | |
8080 | "additionalProperties" : 0, | |
8081 | "properties" : { | |
8082 | "comment" : { | |
8083 | "description" : "Comment.", | |
8084 | "type" : "string", | |
8085 | "typetext" : "<string>" | |
8086 | }, | |
8087 | "domain" : { | |
8088 | "description" : "Domain name.", | |
8089 | "format" : "transport-domain", | |
8090 | "type" : "string", | |
8091 | "typetext" : "<string>" | |
8092 | } | |
8093 | } | |
8094 | }, | |
8095 | "permissions" : { | |
8096 | "check" : [ | |
8097 | "admin" | |
8098 | ] | |
8099 | }, | |
8100 | "protected" : 1, | |
8101 | "proxyto" : "master", | |
8102 | "returns" : { | |
8103 | "type" : "null" | |
8104 | } | |
8105 | } | |
8106 | }, | |
8107 | "leaf" : 1, | |
8108 | "path" : "/config/dkim/domains/{domain}", | |
8109 | "text" : "{domain}" | |
8110 | } | |
8111 | ], | |
8112 | "info" : { | |
8113 | "GET" : { | |
6bd70b95 | 8114 | "allowtoken" : 1, |
d210277a TL |
8115 | "description" : "List DKIM-sign domains.", |
8116 | "method" : "GET", | |
8117 | "name" : "index", | |
8118 | "parameters" : { | |
8119 | "additionalProperties" : 0 | |
8120 | }, | |
8121 | "permissions" : { | |
8122 | "check" : [ | |
8123 | "admin", | |
8124 | "audit" | |
8125 | ] | |
8126 | }, | |
8127 | "proxyto" : "master", | |
8128 | "returns" : { | |
8129 | "items" : { | |
8130 | "properties" : { | |
8131 | "comment" : { | |
8132 | "type" : "string" | |
8133 | }, | |
8134 | "domain" : { | |
8135 | "type" : "string" | |
8136 | } | |
8137 | }, | |
8138 | "type" : "object" | |
8139 | }, | |
8140 | "links" : [ | |
8141 | { | |
8142 | "href" : "{domain}", | |
8143 | "rel" : "child" | |
8144 | } | |
8145 | ], | |
8146 | "type" : "array" | |
8147 | } | |
8148 | }, | |
8149 | "POST" : { | |
6bd70b95 | 8150 | "allowtoken" : 1, |
d210277a TL |
8151 | "description" : "Add DKIM-sign domain.", |
8152 | "method" : "POST", | |
8153 | "name" : "create", | |
8154 | "parameters" : { | |
8155 | "additionalProperties" : 0, | |
8156 | "properties" : { | |
8157 | "comment" : { | |
8158 | "description" : "Comment.", | |
8159 | "optional" : 1, | |
8160 | "type" : "string", | |
8161 | "typetext" : "<string>" | |
8162 | }, | |
8163 | "domain" : { | |
8164 | "description" : "Domain name.", | |
8165 | "format" : "transport-domain", | |
8166 | "type" : "string", | |
8167 | "typetext" : "<string>" | |
8168 | } | |
8169 | } | |
8170 | }, | |
8171 | "permissions" : { | |
8172 | "check" : [ | |
8173 | "admin" | |
8174 | ] | |
8175 | }, | |
8176 | "protected" : 1, | |
8177 | "proxyto" : "master", | |
8178 | "returns" : { | |
8179 | "type" : "null" | |
8180 | } | |
8181 | } | |
8182 | }, | |
8183 | "leaf" : 0, | |
8184 | "path" : "/config/dkim/domains", | |
8185 | "text" : "domains" | |
8186 | }, | |
8187 | { | |
8188 | "info" : { | |
8189 | "GET" : { | |
6bd70b95 | 8190 | "allowtoken" : 1, |
d210277a TL |
8191 | "description" : "Get the public key for the configured selector, prepared as DKIM TXT record", |
8192 | "method" : "GET", | |
8193 | "name" : "get_selector_info", | |
8194 | "parameters" : { | |
8195 | "additionalProperties" : 0 | |
8196 | }, | |
8197 | "permissions" : { | |
8198 | "check" : [ | |
8199 | "admin" | |
8200 | ] | |
8201 | }, | |
8202 | "protected" : 1, | |
8203 | "proxyto" : "master", | |
8204 | "returns" : { | |
8205 | "properties" : { | |
8206 | "keysize" : { | |
8207 | "minimum" : 1024, | |
8208 | "optional" : 1, | |
8209 | "type" : "integer" | |
8210 | }, | |
8211 | "record" : { | |
8212 | "format" : "pmg-dkim-record", | |
8213 | "optional" : 1, | |
8214 | "type" : "string" | |
8215 | }, | |
8216 | "selector" : { | |
8217 | "format" : "dns-name", | |
8218 | "optional" : 1, | |
8219 | "type" : "string" | |
8220 | } | |
8221 | }, | |
8222 | "type" : "object" | |
8223 | } | |
8224 | }, | |
8225 | "POST" : { | |
6bd70b95 | 8226 | "allowtoken" : 1, |
d210277a TL |
8227 | "description" : "Generate a new private key for selector. All future mail will be signed with the new key!", |
8228 | "method" : "POST", | |
8229 | "name" : "set_selector", | |
8230 | "parameters" : { | |
8231 | "additionalProperties" : 0, | |
8232 | "properties" : { | |
6bd70b95 TL |
8233 | "force" : { |
8234 | "description" : "Overwrite existing key", | |
8235 | "optional" : 1, | |
8236 | "type" : "boolean", | |
8237 | "typetext" : "<boolean>" | |
8238 | }, | |
d210277a TL |
8239 | "keysize" : { |
8240 | "description" : "Number of bits for the RSA-Key", | |
8241 | "minimum" : 1024, | |
8242 | "type" : "integer", | |
8243 | "typetext" : "<integer> (1024 - N)" | |
8244 | }, | |
8245 | "selector" : { | |
8246 | "description" : "DKIM Selector", | |
8247 | "format" : "dns-name", | |
8248 | "type" : "string", | |
8249 | "typetext" : "<string>" | |
8250 | } | |
8251 | } | |
8252 | }, | |
8253 | "permissions" : { | |
8254 | "check" : [ | |
8255 | "admin" | |
8256 | ] | |
8257 | }, | |
8258 | "protected" : 1, | |
8259 | "proxyto" : "master", | |
8260 | "returns" : { | |
8261 | "type" : "null" | |
8262 | } | |
8263 | } | |
8264 | }, | |
8265 | "leaf" : 1, | |
8266 | "path" : "/config/dkim/selector", | |
8267 | "text" : "selector" | |
6bd70b95 TL |
8268 | }, |
8269 | { | |
8270 | "info" : { | |
8271 | "GET" : { | |
8272 | "allowtoken" : 1, | |
8273 | "description" : "Get a list of all existing selectors", | |
8274 | "method" : "GET", | |
8275 | "name" : "get_selector_list", | |
8276 | "parameters" : { | |
8277 | "additionalProperties" : 0 | |
8278 | }, | |
8279 | "permissions" : { | |
8280 | "check" : [ | |
8281 | "admin" | |
8282 | ] | |
8283 | }, | |
8284 | "protected" : 1, | |
8285 | "proxyto" : "master", | |
8286 | "returns" : { | |
8287 | "items" : { | |
8288 | "properties" : { | |
8289 | "selector" : { | |
8290 | "format" : "dns-name", | |
8291 | "type" : "string" | |
8292 | } | |
8293 | }, | |
8294 | "type" : "object" | |
8295 | }, | |
8296 | "links" : [ | |
8297 | { | |
8298 | "href" : "{selector}", | |
8299 | "rel" : "child" | |
8300 | } | |
8301 | ], | |
8302 | "type" : "array" | |
8303 | } | |
8304 | } | |
8305 | }, | |
8306 | "leaf" : 1, | |
8307 | "path" : "/config/dkim/selectors", | |
8308 | "text" : "selectors" | |
d210277a TL |
8309 | } |
8310 | ], | |
410dc2c9 DM |
8311 | "info" : { |
8312 | "GET" : { | |
6bd70b95 | 8313 | "allowtoken" : 1, |
d210277a | 8314 | "description" : "Directory index.", |
410dc2c9 | 8315 | "method" : "GET", |
d210277a | 8316 | "name" : "index", |
410dc2c9 DM |
8317 | "parameters" : { |
8318 | "additionalProperties" : 0 | |
8319 | }, | |
410dc2c9 | 8320 | "returns" : { |
d210277a TL |
8321 | "items" : { |
8322 | "properties" : { | |
8323 | "section" : { | |
8324 | "type" : "string" | |
8325 | } | |
9fda36b0 | 8326 | }, |
d210277a TL |
8327 | "type" : "object" |
8328 | }, | |
8329 | "links" : [ | |
8330 | { | |
8331 | "href" : "{section}", | |
8332 | "rel" : "child" | |
8333 | } | |
8334 | ], | |
8335 | "type" : "array" | |
8336 | } | |
8337 | } | |
8338 | }, | |
8339 | "leaf" : 0, | |
8340 | "path" : "/config/dkim", | |
8341 | "text" : "dkim" | |
8342 | }, | |
8343 | { | |
8344 | "children" : [ | |
8345 | { | |
8346 | "info" : { | |
8347 | "DELETE" : { | |
6bd70b95 | 8348 | "allowtoken" : 1, |
d210277a TL |
8349 | "description" : "Edit custom SpamAssassin score", |
8350 | "method" : "DELETE", | |
8351 | "name" : "delete_score", | |
8352 | "parameters" : { | |
8353 | "additionalProperties" : 0, | |
8354 | "properties" : { | |
8355 | "digest" : { | |
8356 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8357 | "maxLength" : 40, | |
8358 | "optional" : 1, | |
8359 | "type" : "string", | |
8360 | "typetext" : "<string>" | |
8361 | }, | |
8362 | "name" : { | |
8363 | "description" : "The name of the rule.", | |
8364 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8365 | "type" : "string" | |
8366 | } | |
8367 | } | |
8368 | }, | |
8369 | "protected" : 1, | |
8370 | "proxyto" : "master", | |
8371 | "returns" : { | |
8372 | "type" : "null" | |
8373 | } | |
8374 | }, | |
8375 | "GET" : { | |
6bd70b95 | 8376 | "allowtoken" : 1, |
d210277a TL |
8377 | "description" : "Get custom SpamAssassin score", |
8378 | "method" : "GET", | |
8379 | "name" : "get_score", | |
8380 | "parameters" : { | |
8381 | "additionalProperties" : 0, | |
8382 | "properties" : { | |
8383 | "name" : { | |
8384 | "description" : "The name of the rule.", | |
8385 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8386 | "type" : "string" | |
8387 | } | |
8388 | } | |
8389 | }, | |
8390 | "protected" : 1, | |
8391 | "proxyto" : "master", | |
8392 | "returns" : { | |
8393 | "properties" : { | |
8394 | "comment" : { | |
8395 | "description" : "The Comment.", | |
8396 | "optional" : 1, | |
8397 | "type" : "string" | |
8398 | }, | |
8399 | "name" : { | |
8400 | "description" : "The name of the rule.", | |
8401 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8402 | "type" : "string" | |
8403 | }, | |
8404 | "score" : { | |
8405 | "description" : "The score the rule should be valued at.", | |
8406 | "type" : "number" | |
8407 | } | |
8408 | }, | |
8409 | "type" : "object" | |
8410 | } | |
8411 | }, | |
8412 | "PUT" : { | |
6bd70b95 | 8413 | "allowtoken" : 1, |
d210277a TL |
8414 | "description" : "Edit custom SpamAssassin score", |
8415 | "method" : "PUT", | |
8416 | "name" : "edit_score", | |
8417 | "parameters" : { | |
8418 | "additionalProperties" : 0, | |
8419 | "properties" : { | |
8420 | "comment" : { | |
8421 | "description" : "The Comment.", | |
8422 | "optional" : 1, | |
8423 | "type" : "string", | |
8424 | "typetext" : "<string>" | |
8425 | }, | |
8426 | "digest" : { | |
8427 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8428 | "maxLength" : 40, | |
8429 | "optional" : 1, | |
8430 | "type" : "string", | |
8431 | "typetext" : "<string>" | |
8432 | }, | |
8433 | "name" : { | |
8434 | "description" : "The name of the rule.", | |
8435 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8436 | "type" : "string" | |
8437 | }, | |
8438 | "score" : { | |
8439 | "description" : "The score the rule should be valued at.", | |
8440 | "type" : "number", | |
8441 | "typetext" : "<number>" | |
8442 | } | |
8443 | } | |
8444 | }, | |
8445 | "protected" : 1, | |
8446 | "proxyto" : "master", | |
8447 | "returns" : { | |
8448 | "type" : "null" | |
8449 | } | |
8450 | } | |
8451 | }, | |
8452 | "leaf" : 1, | |
8453 | "path" : "/config/customscores/{name}", | |
8454 | "text" : "{name}" | |
8455 | } | |
8456 | ], | |
8457 | "info" : { | |
8458 | "DELETE" : { | |
6bd70b95 | 8459 | "allowtoken" : 1, |
d210277a TL |
8460 | "description" : "Revert custom score changes.", |
8461 | "method" : "DELETE", | |
8462 | "name" : "revert_score_changes", | |
8463 | "parameters" : { | |
8464 | "additionalProperties" : 0 | |
8465 | }, | |
8466 | "permissions" : { | |
8467 | "check" : [ | |
8468 | "admin" | |
8469 | ] | |
8470 | }, | |
8471 | "protected" : 1, | |
8472 | "proxyto" : "master", | |
8473 | "returns" : { | |
8474 | "type" : "null" | |
8475 | } | |
8476 | }, | |
8477 | "GET" : { | |
6bd70b95 | 8478 | "allowtoken" : 1, |
d210277a TL |
8479 | "description" : "List custom scores.", |
8480 | "method" : "GET", | |
8481 | "name" : "list_scores", | |
8482 | "parameters" : { | |
8483 | "additionalProperties" : 0 | |
8484 | }, | |
8485 | "permissions" : { | |
8486 | "check" : [ | |
8487 | "admin", | |
8488 | "audit" | |
8489 | ] | |
8490 | }, | |
8491 | "proxyto" : "master", | |
8492 | "returns" : { | |
8493 | "items" : { | |
8494 | "properties" : { | |
8495 | "comment" : { | |
8496 | "description" : "The Comment.", | |
8497 | "optional" : 1, | |
8498 | "type" : "string" | |
8499 | }, | |
8500 | "digest" : { | |
8501 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8502 | "maxLength" : 40, | |
8503 | "optional" : 1, | |
8504 | "type" : "string" | |
8505 | }, | |
8506 | "name" : { | |
8507 | "description" : "The name of the rule.", | |
8508 | "optional" : 1, | |
8509 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8510 | "type" : "string" | |
8511 | }, | |
8512 | "score" : { | |
8513 | "description" : "The score the rule should be valued at.", | |
8514 | "optional" : 1, | |
8515 | "type" : "number" | |
8516 | } | |
8517 | }, | |
8518 | "type" : "object" | |
8519 | }, | |
8520 | "links" : [ | |
8521 | { | |
8522 | "href" : "{name}", | |
8523 | "rel" : "child" | |
8524 | } | |
8525 | ], | |
8526 | "type" : "array" | |
8527 | } | |
8528 | }, | |
8529 | "POST" : { | |
6bd70b95 | 8530 | "allowtoken" : 1, |
d210277a TL |
8531 | "description" : "Create custom SpamAssassin score", |
8532 | "method" : "POST", | |
8533 | "name" : "create_score", | |
8534 | "parameters" : { | |
8535 | "additionalProperties" : 0, | |
8536 | "properties" : { | |
8537 | "comment" : { | |
8538 | "description" : "The Comment.", | |
8539 | "optional" : 1, | |
8540 | "type" : "string", | |
8541 | "typetext" : "<string>" | |
8542 | }, | |
8543 | "digest" : { | |
8544 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8545 | "maxLength" : 40, | |
8546 | "optional" : 1, | |
8547 | "type" : "string", | |
8548 | "typetext" : "<string>" | |
8549 | }, | |
8550 | "name" : { | |
8551 | "description" : "The name of the rule.", | |
8552 | "pattern" : "[a-zA-Z\\_\\-\\.0-9]+", | |
8553 | "type" : "string" | |
8554 | }, | |
8555 | "score" : { | |
8556 | "description" : "The score the rule should be valued at.", | |
8557 | "type" : "number", | |
8558 | "typetext" : "<number>" | |
8559 | } | |
8560 | } | |
8561 | }, | |
8562 | "protected" : 1, | |
8563 | "proxyto" : "master", | |
8564 | "returns" : { | |
8565 | "type" : "null" | |
8566 | } | |
8567 | }, | |
8568 | "PUT" : { | |
6bd70b95 | 8569 | "allowtoken" : 1, |
d210277a TL |
8570 | "description" : "Apply custom score changes.", |
8571 | "method" : "PUT", | |
8572 | "name" : "apply_score_changes", | |
8573 | "parameters" : { | |
8574 | "additionalProperties" : 0, | |
8575 | "properties" : { | |
8576 | "digest" : { | |
8577 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8578 | "maxLength" : 40, | |
8579 | "optional" : 1, | |
8580 | "type" : "string", | |
8581 | "typetext" : "<string>" | |
8582 | }, | |
8583 | "restart-daemon" : { | |
8584 | "default" : 0, | |
8585 | "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.", | |
8586 | "optional" : 1, | |
8587 | "type" : "boolean", | |
8588 | "typetext" : "<boolean>" | |
8589 | } | |
8590 | } | |
8591 | }, | |
8592 | "permissions" : { | |
8593 | "check" : [ | |
8594 | "admin" | |
8595 | ] | |
8596 | }, | |
8597 | "protected" : 1, | |
8598 | "proxyto" : "master", | |
8599 | "returns" : { | |
8600 | "type" : "string" | |
8601 | } | |
8602 | } | |
8603 | }, | |
8604 | "leaf" : 0, | |
8605 | "path" : "/config/customscores", | |
8606 | "text" : "customscores" | |
8607 | }, | |
8608 | { | |
ab2b846b TL |
8609 | "children" : [ |
8610 | { | |
8611 | "info" : { | |
8612 | "DELETE" : { | |
8613 | "allowtoken" : 1, | |
8614 | "description" : "Delete an PBS remote", | |
8615 | "method" : "DELETE", | |
8616 | "name" : "delete", | |
8617 | "parameters" : { | |
8618 | "additionalProperties" : 0, | |
8619 | "properties" : { | |
8620 | "remote" : { | |
8621 | "description" : "Profile ID.", | |
8622 | "format" : "pve-configid", | |
8623 | "type" : "string", | |
8624 | "typetext" : "<string>" | |
8625 | } | |
8626 | } | |
8627 | }, | |
8628 | "permissions" : { | |
8629 | "check" : [ | |
8630 | "admin" | |
8631 | ] | |
8632 | }, | |
8633 | "protected" : 1, | |
8634 | "proxyto" : "master", | |
8635 | "returns" : { | |
8636 | "type" : "null" | |
8637 | } | |
8638 | }, | |
8639 | "GET" : { | |
8640 | "allowtoken" : 1, | |
8641 | "description" : "Get Proxmox Backup Server remote configuration.", | |
8642 | "method" : "GET", | |
8643 | "name" : "read_config", | |
8644 | "parameters" : { | |
8645 | "additionalProperties" : 1, | |
8646 | "properties" : { | |
8647 | "remote" : { | |
8648 | "description" : "Proxmox Backup Server ID.", | |
8649 | "format" : "pve-configid", | |
8650 | "type" : "string", | |
8651 | "typetext" : "<string>" | |
8652 | } | |
8653 | } | |
8654 | }, | |
8655 | "permissions" : { | |
8656 | "check" : [ | |
8657 | "admin", | |
8658 | "audit" | |
8659 | ] | |
8660 | }, | |
8661 | "proxyto" : "master", | |
8662 | "returns" : {} | |
8663 | }, | |
8664 | "PUT" : { | |
8665 | "allowtoken" : 1, | |
8666 | "description" : "Update PBS remote settings.", | |
8667 | "method" : "PUT", | |
8668 | "name" : "update_config", | |
8669 | "parameters" : { | |
8670 | "additionalProperties" : 0, | |
8671 | "properties" : { | |
8672 | "datastore" : { | |
8673 | "description" : "Proxmox Backup Server datastore name.", | |
8674 | "optional" : 1, | |
0b9926d3 TL |
8675 | "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)", |
8676 | "type" : "string" | |
ab2b846b TL |
8677 | }, |
8678 | "delete" : { | |
8679 | "description" : "A list of settings you want to delete.", | |
8680 | "format" : "pve-configid-list", | |
8681 | "maxLength" : 4096, | |
8682 | "optional" : 1, | |
8683 | "type" : "string", | |
8684 | "typetext" : "<string>" | |
8685 | }, | |
8686 | "digest" : { | |
8687 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
8688 | "maxLength" : 40, | |
8689 | "optional" : 1, | |
8690 | "type" : "string", | |
8691 | "typetext" : "<string>" | |
8692 | }, | |
8693 | "disable" : { | |
8694 | "description" : "Flag to disable (deactivate) the entry.", | |
8695 | "optional" : 1, | |
8696 | "type" : "boolean", | |
8697 | "typetext" : "<boolean>" | |
8698 | }, | |
8699 | "fingerprint" : { | |
8700 | "description" : "Certificate SHA 256 fingerprint.", | |
8701 | "optional" : 1, | |
8702 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
8703 | "type" : "string" | |
8704 | }, | |
c5ccf1ab TL |
8705 | "include-statistics" : { |
8706 | "description" : "Include statistics in scheduled backups", | |
8707 | "optional" : 1, | |
8708 | "type" : "boolean", | |
8709 | "typetext" : "<boolean>" | |
8710 | }, | |
ab2b846b TL |
8711 | "keep-daily" : { |
8712 | "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.", | |
8713 | "format_description" : "N", | |
8714 | "minimum" : "0", | |
8715 | "optional" : 1, | |
8716 | "type" : "integer", | |
8717 | "typetext" : "<N>" | |
8718 | }, | |
8719 | "keep-hourly" : { | |
8720 | "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.", | |
8721 | "format_description" : "N", | |
8722 | "minimum" : "0", | |
8723 | "optional" : 1, | |
8724 | "type" : "integer", | |
8725 | "typetext" : "<N>" | |
8726 | }, | |
8727 | "keep-last" : { | |
8728 | "description" : "Keep the last <N> backups.", | |
8729 | "format_description" : "N", | |
8730 | "minimum" : "0", | |
8731 | "optional" : 1, | |
8732 | "type" : "integer", | |
8733 | "typetext" : "<N>" | |
8734 | }, | |
8735 | "keep-monthly" : { | |
8736 | "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.", | |
8737 | "format_description" : "N", | |
8738 | "minimum" : "0", | |
8739 | "optional" : 1, | |
8740 | "type" : "integer", | |
8741 | "typetext" : "<N>" | |
8742 | }, | |
8743 | "keep-weekly" : { | |
8744 | "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.", | |
8745 | "format_description" : "N", | |
8746 | "minimum" : "0", | |
8747 | "optional" : 1, | |
8748 | "type" : "integer", | |
8749 | "typetext" : "<N>" | |
8750 | }, | |
8751 | "keep-yearly" : { | |
8752 | "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.", | |
8753 | "format_description" : "N", | |
8754 | "minimum" : "0", | |
8755 | "optional" : 1, | |
8756 | "type" : "integer", | |
8757 | "typetext" : "<N>" | |
8758 | }, | |
0b9926d3 TL |
8759 | "namespace" : { |
8760 | "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.", | |
8761 | "maxLength" : 256, | |
8762 | "optional" : 1, | |
8763 | "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?", | |
8764 | "type" : "string" | |
8765 | }, | |
c5ccf1ab TL |
8766 | "notify" : { |
8767 | "description" : "Specify when to notify via e-mail", | |
8768 | "enum" : [ | |
8769 | "always", | |
8770 | "error", | |
8771 | "never" | |
8772 | ], | |
8773 | "optional" : 1, | |
8774 | "type" : "string" | |
8775 | }, | |
ab2b846b TL |
8776 | "password" : { |
8777 | "description" : "Password or API token secret for the user on the Proxmox Backup Server.", | |
8778 | "optional" : 1, | |
8779 | "type" : "string", | |
8780 | "typetext" : "<string>" | |
8781 | }, | |
8782 | "remote" : { | |
8783 | "description" : "Proxmox Backup Server ID.", | |
8784 | "format" : "pve-configid", | |
8785 | "type" : "string", | |
8786 | "typetext" : "<string>" | |
8787 | }, | |
8788 | "server" : { | |
8789 | "description" : "Proxmox Backup Server address.", | |
8790 | "format" : "address", | |
8791 | "maxLength" : 256, | |
8792 | "optional" : 1, | |
8793 | "type" : "string", | |
8794 | "typetext" : "<string>" | |
8795 | }, | |
8796 | "username" : { | |
8797 | "description" : "Username or API token ID on the Proxmox Backup Server", | |
8798 | "maxLength" : 512, | |
8799 | "minLength" : 3, | |
8800 | "optional" : 1, | |
c5ccf1ab | 8801 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
ab2b846b TL |
8802 | "type" : "string" |
8803 | } | |
8804 | }, | |
8805 | "type" : "object" | |
8806 | }, | |
8807 | "permissions" : { | |
8808 | "check" : [ | |
8809 | "admin" | |
8810 | ] | |
8811 | }, | |
8812 | "protected" : 1, | |
8813 | "proxyto" : "master", | |
8814 | "returns" : { | |
8815 | "type" : "null" | |
8816 | } | |
8817 | } | |
8818 | }, | |
8819 | "leaf" : 1, | |
8820 | "path" : "/config/pbs/{remote}", | |
8821 | "text" : "{remote}" | |
8822 | } | |
8823 | ], | |
d210277a TL |
8824 | "info" : { |
8825 | "GET" : { | |
6bd70b95 | 8826 | "allowtoken" : 1, |
ab2b846b | 8827 | "description" : "List all configured Proxmox Backup Server instances.", |
d210277a | 8828 | "method" : "GET", |
ab2b846b | 8829 | "name" : "list", |
d210277a TL |
8830 | "parameters" : { |
8831 | "additionalProperties" : 0 | |
8832 | }, | |
8833 | "permissions" : { | |
8834 | "check" : [ | |
8835 | "admin", | |
8836 | "audit" | |
8837 | ] | |
8838 | }, | |
ab2b846b | 8839 | "protected" : 1, |
d210277a TL |
8840 | "proxyto" : "master", |
8841 | "returns" : { | |
ab2b846b TL |
8842 | "items" : { |
8843 | "additionalProperties" : 0, | |
8844 | "properties" : { | |
8845 | "datastore" : { | |
8846 | "description" : "Proxmox Backup Server datastore name.", | |
8847 | "optional" : 0, | |
0b9926d3 | 8848 | "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)", |
ab2b846b TL |
8849 | "type" : "string" |
8850 | }, | |
8851 | "disable" : { | |
8852 | "description" : "Flag to disable (deactivate) the entry.", | |
8853 | "optional" : 1, | |
8854 | "type" : "boolean" | |
8855 | }, | |
8856 | "fingerprint" : { | |
8857 | "description" : "Certificate SHA 256 fingerprint.", | |
8858 | "optional" : 1, | |
8859 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
8860 | "type" : "string" | |
8861 | }, | |
c5ccf1ab TL |
8862 | "include-statistics" : { |
8863 | "description" : "Include statistics in scheduled backups", | |
8864 | "optional" : 1, | |
8865 | "type" : "boolean" | |
8866 | }, | |
ab2b846b TL |
8867 | "keep-daily" : { |
8868 | "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.", | |
8869 | "format_description" : "N", | |
8870 | "minimum" : "0", | |
8871 | "optional" : 1, | |
8872 | "type" : "integer" | |
8873 | }, | |
8874 | "keep-hourly" : { | |
8875 | "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.", | |
8876 | "format_description" : "N", | |
8877 | "minimum" : "0", | |
8878 | "optional" : 1, | |
8879 | "type" : "integer" | |
8880 | }, | |
8881 | "keep-last" : { | |
8882 | "description" : "Keep the last <N> backups.", | |
8883 | "format_description" : "N", | |
8884 | "minimum" : "0", | |
8885 | "optional" : 1, | |
8886 | "type" : "integer" | |
8887 | }, | |
8888 | "keep-monthly" : { | |
8889 | "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.", | |
8890 | "format_description" : "N", | |
8891 | "minimum" : "0", | |
8892 | "optional" : 1, | |
8893 | "type" : "integer" | |
8894 | }, | |
8895 | "keep-weekly" : { | |
8896 | "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.", | |
8897 | "format_description" : "N", | |
8898 | "minimum" : "0", | |
8899 | "optional" : 1, | |
8900 | "type" : "integer" | |
8901 | }, | |
8902 | "keep-yearly" : { | |
8903 | "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.", | |
8904 | "format_description" : "N", | |
8905 | "minimum" : "0", | |
8906 | "optional" : 1, | |
8907 | "type" : "integer" | |
8908 | }, | |
0b9926d3 TL |
8909 | "namespace" : { |
8910 | "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.", | |
8911 | "maxLength" : 256, | |
8912 | "optional" : 1, | |
8913 | "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?", | |
8914 | "type" : "string" | |
8915 | }, | |
c5ccf1ab TL |
8916 | "notify" : { |
8917 | "description" : "Specify when to notify via e-mail", | |
8918 | "enum" : [ | |
8919 | "always", | |
8920 | "error", | |
8921 | "never" | |
8922 | ], | |
8923 | "optional" : 1, | |
8924 | "type" : "string" | |
8925 | }, | |
ab2b846b TL |
8926 | "password" : { |
8927 | "description" : "Password or API token secret for the user on the Proxmox Backup Server.", | |
8928 | "optional" : 1, | |
8929 | "type" : "string" | |
8930 | }, | |
8931 | "remote" : { | |
8932 | "description" : "Proxmox Backup Server ID.", | |
8933 | "format" : "pve-configid", | |
8934 | "type" : "string" | |
8935 | }, | |
8936 | "server" : { | |
8937 | "description" : "Proxmox Backup Server address.", | |
8938 | "format" : "address", | |
8939 | "maxLength" : 256, | |
8940 | "optional" : 0, | |
8941 | "type" : "string" | |
8942 | }, | |
8943 | "username" : { | |
8944 | "description" : "Username or API token ID on the Proxmox Backup Server", | |
8945 | "maxLength" : 512, | |
8946 | "minLength" : 3, | |
8947 | "optional" : 1, | |
c5ccf1ab | 8948 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
ab2b846b TL |
8949 | "type" : "string" |
8950 | } | |
8951 | }, | |
8952 | "type" : "object" | |
8953 | }, | |
8954 | "links" : [ | |
8955 | { | |
8956 | "href" : "{remote}", | |
8957 | "rel" : "child" | |
8958 | } | |
8959 | ], | |
8960 | "type" : "array" | |
d210277a TL |
8961 | } |
8962 | }, | |
ab2b846b | 8963 | "POST" : { |
6bd70b95 | 8964 | "allowtoken" : 1, |
ab2b846b TL |
8965 | "description" : "Add Proxmox Backup Server remote instance.", |
8966 | "method" : "POST", | |
8967 | "name" : "create", | |
d210277a TL |
8968 | "parameters" : { |
8969 | "additionalProperties" : 0, | |
8970 | "properties" : { | |
ab2b846b TL |
8971 | "datastore" : { |
8972 | "description" : "Proxmox Backup Server datastore name.", | |
8973 | "optional" : 0, | |
0b9926d3 TL |
8974 | "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)", |
8975 | "type" : "string" | |
d210277a | 8976 | }, |
ab2b846b TL |
8977 | "disable" : { |
8978 | "description" : "Flag to disable (deactivate) the entry.", | |
f225b3b4 DM |
8979 | "optional" : 1, |
8980 | "type" : "boolean", | |
8981 | "typetext" : "<boolean>" | |
8982 | }, | |
ab2b846b TL |
8983 | "fingerprint" : { |
8984 | "description" : "Certificate SHA 256 fingerprint.", | |
f225b3b4 | 8985 | "optional" : 1, |
ab2b846b TL |
8986 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", |
8987 | "type" : "string" | |
f225b3b4 | 8988 | }, |
c5ccf1ab TL |
8989 | "include-statistics" : { |
8990 | "description" : "Include statistics in scheduled backups", | |
8991 | "optional" : 1, | |
8992 | "type" : "boolean", | |
8993 | "typetext" : "<boolean>" | |
8994 | }, | |
ab2b846b TL |
8995 | "keep-daily" : { |
8996 | "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.", | |
8997 | "format_description" : "N", | |
8998 | "minimum" : "0", | |
241ac83c | 8999 | "optional" : 1, |
ab2b846b TL |
9000 | "type" : "integer", |
9001 | "typetext" : "<N>" | |
241ac83c | 9002 | }, |
ab2b846b TL |
9003 | "keep-hourly" : { |
9004 | "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.", | |
9005 | "format_description" : "N", | |
9006 | "minimum" : "0", | |
241ac83c | 9007 | "optional" : 1, |
ab2b846b TL |
9008 | "type" : "integer", |
9009 | "typetext" : "<N>" | |
241ac83c | 9010 | }, |
ab2b846b TL |
9011 | "keep-last" : { |
9012 | "description" : "Keep the last <N> backups.", | |
9013 | "format_description" : "N", | |
9014 | "minimum" : "0", | |
410dc2c9 | 9015 | "optional" : 1, |
ab2b846b TL |
9016 | "type" : "integer", |
9017 | "typetext" : "<N>" | |
410dc2c9 | 9018 | }, |
ab2b846b TL |
9019 | "keep-monthly" : { |
9020 | "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.", | |
9021 | "format_description" : "N", | |
9022 | "minimum" : "0", | |
410dc2c9 | 9023 | "optional" : 1, |
ab2b846b TL |
9024 | "type" : "integer", |
9025 | "typetext" : "<N>" | |
410dc2c9 | 9026 | }, |
ab2b846b TL |
9027 | "keep-weekly" : { |
9028 | "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.", | |
9029 | "format_description" : "N", | |
9030 | "minimum" : "0", | |
410dc2c9 | 9031 | "optional" : 1, |
ab2b846b TL |
9032 | "type" : "integer", |
9033 | "typetext" : "<N>" | |
410dc2c9 | 9034 | }, |
ab2b846b TL |
9035 | "keep-yearly" : { |
9036 | "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.", | |
9037 | "format_description" : "N", | |
9038 | "minimum" : "0", | |
9039 | "optional" : 1, | |
9040 | "type" : "integer", | |
9041 | "typetext" : "<N>" | |
9042 | }, | |
0b9926d3 TL |
9043 | "namespace" : { |
9044 | "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.", | |
9045 | "maxLength" : 256, | |
9046 | "optional" : 1, | |
9047 | "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?", | |
9048 | "type" : "string" | |
9049 | }, | |
c5ccf1ab TL |
9050 | "notify" : { |
9051 | "description" : "Specify when to notify via e-mail", | |
9052 | "enum" : [ | |
9053 | "always", | |
9054 | "error", | |
9055 | "never" | |
9056 | ], | |
9057 | "optional" : 1, | |
9058 | "type" : "string" | |
9059 | }, | |
ab2b846b TL |
9060 | "password" : { |
9061 | "description" : "Password or API token secret for the user on the Proxmox Backup Server.", | |
9062 | "optional" : 1, | |
9063 | "type" : "string", | |
9064 | "typetext" : "<string>" | |
9065 | }, | |
9066 | "remote" : { | |
9067 | "description" : "Proxmox Backup Server ID.", | |
9068 | "format" : "pve-configid", | |
9069 | "type" : "string", | |
9070 | "typetext" : "<string>" | |
9071 | }, | |
9072 | "server" : { | |
9073 | "description" : "Proxmox Backup Server address.", | |
9074 | "format" : "address", | |
9075 | "maxLength" : 256, | |
9076 | "optional" : 0, | |
9077 | "type" : "string", | |
9078 | "typetext" : "<string>" | |
9079 | }, | |
9080 | "username" : { | |
9081 | "description" : "Username or API token ID on the Proxmox Backup Server", | |
9082 | "maxLength" : 512, | |
9083 | "minLength" : 3, | |
9084 | "optional" : 1, | |
c5ccf1ab | 9085 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
ab2b846b TL |
9086 | "type" : "string" |
9087 | } | |
9088 | }, | |
9089 | "type" : "object" | |
9090 | }, | |
9091 | "permissions" : { | |
9092 | "check" : [ | |
9093 | "admin" | |
9094 | ] | |
9095 | }, | |
9096 | "protected" : 1, | |
9097 | "proxyto" : "master", | |
9098 | "returns" : { | |
9099 | "type" : "null" | |
9100 | } | |
9101 | } | |
9102 | }, | |
9103 | "leaf" : 0, | |
9104 | "path" : "/config/pbs", | |
9105 | "text" : "pbs" | |
9106 | }, | |
9107 | { | |
c5ccf1ab TL |
9108 | "children" : [ |
9109 | { | |
9110 | "children" : [ | |
9111 | { | |
9112 | "info" : { | |
9113 | "DELETE" : { | |
9114 | "allowtoken" : 1, | |
9115 | "description" : "Delete ACME plugin configuration.", | |
9116 | "method" : "DELETE", | |
9117 | "name" : "delete_plugin", | |
9118 | "parameters" : { | |
9119 | "additionalProperties" : 0, | |
9120 | "properties" : { | |
9121 | "id" : { | |
9122 | "description" : "Unique identifier for ACME plugin instance.", | |
9123 | "format" : "pve-configid", | |
9124 | "type" : "string", | |
9125 | "typetext" : "<string>" | |
9126 | } | |
9127 | } | |
9128 | }, | |
9129 | "permissions" : { | |
9130 | "check" : [ | |
9131 | "admin" | |
9132 | ] | |
9133 | }, | |
9134 | "protected" : 1, | |
9135 | "returns" : { | |
9136 | "type" : "null" | |
9137 | } | |
9138 | }, | |
9139 | "GET" : { | |
9140 | "allowtoken" : 1, | |
9141 | "description" : "Get ACME plugin configuration.", | |
9142 | "method" : "GET", | |
9143 | "name" : "get_plugin_config", | |
9144 | "parameters" : { | |
9145 | "additionalProperties" : 0, | |
9146 | "properties" : { | |
9147 | "id" : { | |
9148 | "description" : "Unique identifier for ACME plugin instance.", | |
9149 | "format" : "pve-configid", | |
9150 | "type" : "string", | |
9151 | "typetext" : "<string>" | |
9152 | } | |
9153 | } | |
9154 | }, | |
9155 | "permissions" : { | |
9156 | "check" : [ | |
9157 | "admin" | |
9158 | ] | |
9159 | }, | |
9160 | "protected" : 1, | |
9161 | "returns" : { | |
9162 | "type" : "object" | |
9163 | } | |
9164 | }, | |
9165 | "PUT" : { | |
9166 | "allowtoken" : 1, | |
9167 | "description" : "Update ACME plugin configuration.", | |
9168 | "method" : "PUT", | |
9169 | "name" : "update_plugin", | |
9170 | "parameters" : { | |
9171 | "additionalProperties" : 0, | |
9172 | "properties" : { | |
9173 | "api" : { | |
9174 | "description" : "API plugin name", | |
9175 | "enum" : [ | |
9176 | "1984hosting", | |
9177 | "acmedns", | |
9178 | "acmeproxy", | |
9179 | "active24", | |
9180 | "ad", | |
9181 | "ali", | |
9182 | "anx", | |
9183 | "arvan", | |
0362f73f | 9184 | "aurora", |
c5ccf1ab TL |
9185 | "autodns", |
9186 | "aws", | |
e0e71e6a | 9187 | "azion", |
c5ccf1ab | 9188 | "azure", |
8c308065 | 9189 | "bunny", |
c5ccf1ab TL |
9190 | "cf", |
9191 | "clouddns", | |
9192 | "cloudns", | |
9193 | "cn", | |
9194 | "conoha", | |
9195 | "constellix", | |
8c308065 TL |
9196 | "cpanel", |
9197 | "curanet", | |
c5ccf1ab TL |
9198 | "cyon", |
9199 | "da", | |
9200 | "ddnss", | |
9201 | "desec", | |
9202 | "df", | |
9203 | "dgon", | |
8c308065 | 9204 | "dnshome", |
c5ccf1ab | 9205 | "dnsimple", |
8c308065 | 9206 | "dnsservices", |
c5ccf1ab TL |
9207 | "do", |
9208 | "doapi", | |
9209 | "domeneshop", | |
9210 | "dp", | |
9211 | "dpi", | |
9212 | "dreamhost", | |
9213 | "duckdns", | |
9214 | "durabledns", | |
9215 | "dyn", | |
9216 | "dynu", | |
9217 | "dynv6", | |
9218 | "easydns", | |
9219 | "edgedns", | |
9220 | "euserv", | |
9221 | "exoscale", | |
8c308065 | 9222 | "fornex", |
c5ccf1ab TL |
9223 | "freedns", |
9224 | "gandi_livedns", | |
9225 | "gcloud", | |
9226 | "gd", | |
8c308065 | 9227 | "geoscaling", |
c5ccf1ab TL |
9228 | "he", |
9229 | "hetzner", | |
9230 | "hexonet", | |
9231 | "hostingde", | |
9232 | "huaweicloud", | |
9233 | "infoblox", | |
9234 | "infomaniak", | |
9235 | "internetbs", | |
9236 | "inwx", | |
9237 | "ionos", | |
9238 | "ispconfig", | |
9239 | "jd", | |
9240 | "joker", | |
9241 | "kappernet", | |
9242 | "kas", | |
9243 | "kinghost", | |
9244 | "knot", | |
8c308065 | 9245 | "la", |
c5ccf1ab TL |
9246 | "leaseweb", |
9247 | "lexicon", | |
9248 | "linode", | |
9249 | "linode_v4", | |
9250 | "loopia", | |
9251 | "lua", | |
9252 | "maradns", | |
9253 | "me", | |
9254 | "miab", | |
9255 | "misaka", | |
9256 | "myapi", | |
9257 | "mydevil", | |
9258 | "mydnsjp", | |
8c308065 | 9259 | "mythic_beasts", |
c5ccf1ab TL |
9260 | "namecheap", |
9261 | "namecom", | |
9262 | "namesilo", | |
9263 | "nederhost", | |
9264 | "neodigit", | |
9265 | "netcup", | |
9266 | "netlify", | |
9267 | "nic", | |
9268 | "njalla", | |
9269 | "nm", | |
9270 | "nsd", | |
9271 | "nsone", | |
9272 | "nsupdate", | |
9273 | "nw", | |
e0e71e6a | 9274 | "oci", |
c5ccf1ab TL |
9275 | "one", |
9276 | "online", | |
9277 | "openprovider", | |
9278 | "openstack", | |
9279 | "opnsense", | |
9280 | "ovh", | |
9281 | "pdns", | |
9282 | "pleskxml", | |
9283 | "pointhq", | |
0362f73f | 9284 | "porkbun", |
c5ccf1ab TL |
9285 | "rackcorp", |
9286 | "rackspace", | |
8c308065 | 9287 | "rage4", |
c5ccf1ab TL |
9288 | "rcode0", |
9289 | "regru", | |
9290 | "scaleway", | |
9291 | "schlundtech", | |
9292 | "selectel", | |
8c308065 | 9293 | "selfhost", |
c5ccf1ab TL |
9294 | "servercow", |
9295 | "simply", | |
9296 | "tele3", | |
9297 | "transip", | |
8c308065 | 9298 | "udr", |
c5ccf1ab TL |
9299 | "ultra", |
9300 | "unoeuro", | |
9301 | "variomedia", | |
e0e71e6a | 9302 | "veesp", |
8c308065 | 9303 | "vercel", |
c5ccf1ab TL |
9304 | "vscale", |
9305 | "vultr", | |
0362f73f | 9306 | "websupport", |
c5ccf1ab TL |
9307 | "world4you", |
9308 | "yandex", | |
8c308065 | 9309 | "yc", |
c5ccf1ab TL |
9310 | "zilore", |
9311 | "zone", | |
9312 | "zonomi" | |
9313 | ], | |
9314 | "optional" : 1, | |
9315 | "type" : "string" | |
9316 | }, | |
9317 | "data" : { | |
9318 | "description" : "DNS plugin data. (base64 encoded)", | |
9319 | "optional" : 1, | |
9320 | "type" : "string", | |
9321 | "typetext" : "<string>" | |
9322 | }, | |
9323 | "delete" : { | |
9324 | "description" : "A list of settings you want to delete.", | |
9325 | "format" : "pve-configid-list", | |
9326 | "maxLength" : 4096, | |
9327 | "optional" : 1, | |
9328 | "type" : "string", | |
9329 | "typetext" : "<string>" | |
9330 | }, | |
9331 | "digest" : { | |
9332 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
9333 | "maxLength" : 40, | |
9334 | "optional" : 1, | |
9335 | "type" : "string", | |
9336 | "typetext" : "<string>" | |
9337 | }, | |
9338 | "disable" : { | |
9339 | "description" : "Flag to disable the config.", | |
9340 | "optional" : 1, | |
9341 | "type" : "boolean", | |
9342 | "typetext" : "<boolean>" | |
9343 | }, | |
9344 | "id" : { | |
9345 | "description" : "ACME Plugin ID name", | |
9346 | "format" : "pve-configid", | |
9347 | "type" : "string", | |
9348 | "typetext" : "<string>" | |
9349 | }, | |
9350 | "nodes" : { | |
9351 | "description" : "List of cluster node names.", | |
9352 | "format" : "pve-node-list", | |
9353 | "optional" : 1, | |
9354 | "type" : "string", | |
9355 | "typetext" : "<string>" | |
9356 | }, | |
9357 | "validation-delay" : { | |
9358 | "default" : 30, | |
9359 | "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.", | |
9360 | "maximum" : 172800, | |
9361 | "minimum" : 0, | |
9362 | "optional" : 1, | |
9363 | "type" : "integer", | |
9364 | "typetext" : "<integer> (0 - 172800)" | |
9365 | } | |
9366 | }, | |
9367 | "type" : "object" | |
9368 | }, | |
9369 | "permissions" : { | |
9370 | "check" : [ | |
9371 | "admin" | |
9372 | ] | |
9373 | }, | |
9374 | "protected" : 1, | |
9375 | "returns" : { | |
9376 | "type" : "null" | |
9377 | } | |
9378 | } | |
ab2b846b | 9379 | }, |
c5ccf1ab TL |
9380 | "leaf" : 1, |
9381 | "path" : "/config/acme/plugins/{id}", | |
9382 | "text" : "{id}" | |
9383 | } | |
9384 | ], | |
9385 | "info" : { | |
9386 | "GET" : { | |
9387 | "allowtoken" : 1, | |
9388 | "description" : "ACME plugin index.", | |
9389 | "method" : "GET", | |
9390 | "name" : "index", | |
9391 | "parameters" : { | |
9392 | "additionalProperties" : 0, | |
9393 | "properties" : { | |
9394 | "type" : { | |
9395 | "description" : "Only list ACME plugins of a specific type", | |
9396 | "enum" : [ | |
9397 | "dns", | |
9398 | "standalone" | |
9399 | ], | |
9400 | "optional" : 1, | |
9401 | "type" : "string" | |
9402 | } | |
9403 | } | |
ab2b846b | 9404 | }, |
c5ccf1ab TL |
9405 | "permissions" : { |
9406 | "check" : [ | |
9407 | "admin" | |
9408 | ] | |
ab2b846b | 9409 | }, |
c5ccf1ab TL |
9410 | "protected" : 1, |
9411 | "returns" : { | |
9412 | "items" : { | |
9413 | "properties" : { | |
9414 | "plugin" : { | |
9415 | "description" : "Unique identifier for ACME plugin instance.", | |
9416 | "format" : "pve-configid", | |
9417 | "type" : "string" | |
9418 | } | |
9419 | }, | |
9420 | "type" : "object" | |
9421 | }, | |
9422 | "links" : [ | |
9423 | { | |
9424 | "href" : "{plugin}", | |
9425 | "rel" : "child" | |
9426 | } | |
9427 | ], | |
9428 | "type" : "array" | |
9429 | } | |
9430 | }, | |
9431 | "POST" : { | |
9432 | "allowtoken" : 1, | |
9433 | "description" : "Add ACME plugin configuration.", | |
9434 | "method" : "POST", | |
9435 | "name" : "add_plugin", | |
9436 | "parameters" : { | |
9437 | "additionalProperties" : 0, | |
9438 | "properties" : { | |
9439 | "api" : { | |
9440 | "description" : "API plugin name", | |
9441 | "enum" : [ | |
9442 | "1984hosting", | |
9443 | "acmedns", | |
9444 | "acmeproxy", | |
9445 | "active24", | |
9446 | "ad", | |
9447 | "ali", | |
9448 | "anx", | |
9449 | "arvan", | |
0362f73f | 9450 | "aurora", |
c5ccf1ab TL |
9451 | "autodns", |
9452 | "aws", | |
e0e71e6a | 9453 | "azion", |
c5ccf1ab | 9454 | "azure", |
8c308065 | 9455 | "bunny", |
c5ccf1ab TL |
9456 | "cf", |
9457 | "clouddns", | |
9458 | "cloudns", | |
9459 | "cn", | |
9460 | "conoha", | |
9461 | "constellix", | |
8c308065 TL |
9462 | "cpanel", |
9463 | "curanet", | |
c5ccf1ab TL |
9464 | "cyon", |
9465 | "da", | |
9466 | "ddnss", | |
9467 | "desec", | |
9468 | "df", | |
9469 | "dgon", | |
8c308065 | 9470 | "dnshome", |
c5ccf1ab | 9471 | "dnsimple", |
8c308065 | 9472 | "dnsservices", |
c5ccf1ab TL |
9473 | "do", |
9474 | "doapi", | |
9475 | "domeneshop", | |
9476 | "dp", | |
9477 | "dpi", | |
9478 | "dreamhost", | |
9479 | "duckdns", | |
9480 | "durabledns", | |
9481 | "dyn", | |
9482 | "dynu", | |
9483 | "dynv6", | |
9484 | "easydns", | |
9485 | "edgedns", | |
9486 | "euserv", | |
9487 | "exoscale", | |
8c308065 | 9488 | "fornex", |
c5ccf1ab TL |
9489 | "freedns", |
9490 | "gandi_livedns", | |
9491 | "gcloud", | |
9492 | "gd", | |
8c308065 | 9493 | "geoscaling", |
c5ccf1ab TL |
9494 | "he", |
9495 | "hetzner", | |
9496 | "hexonet", | |
9497 | "hostingde", | |
9498 | "huaweicloud", | |
9499 | "infoblox", | |
9500 | "infomaniak", | |
9501 | "internetbs", | |
9502 | "inwx", | |
9503 | "ionos", | |
9504 | "ispconfig", | |
9505 | "jd", | |
9506 | "joker", | |
9507 | "kappernet", | |
9508 | "kas", | |
9509 | "kinghost", | |
9510 | "knot", | |
8c308065 | 9511 | "la", |
c5ccf1ab TL |
9512 | "leaseweb", |
9513 | "lexicon", | |
9514 | "linode", | |
9515 | "linode_v4", | |
9516 | "loopia", | |
9517 | "lua", | |
9518 | "maradns", | |
9519 | "me", | |
9520 | "miab", | |
9521 | "misaka", | |
9522 | "myapi", | |
9523 | "mydevil", | |
9524 | "mydnsjp", | |
8c308065 | 9525 | "mythic_beasts", |
c5ccf1ab TL |
9526 | "namecheap", |
9527 | "namecom", | |
9528 | "namesilo", | |
9529 | "nederhost", | |
9530 | "neodigit", | |
9531 | "netcup", | |
9532 | "netlify", | |
9533 | "nic", | |
9534 | "njalla", | |
9535 | "nm", | |
9536 | "nsd", | |
9537 | "nsone", | |
9538 | "nsupdate", | |
9539 | "nw", | |
e0e71e6a | 9540 | "oci", |
c5ccf1ab TL |
9541 | "one", |
9542 | "online", | |
9543 | "openprovider", | |
9544 | "openstack", | |
9545 | "opnsense", | |
9546 | "ovh", | |
9547 | "pdns", | |
9548 | "pleskxml", | |
9549 | "pointhq", | |
0362f73f | 9550 | "porkbun", |
c5ccf1ab TL |
9551 | "rackcorp", |
9552 | "rackspace", | |
8c308065 | 9553 | "rage4", |
c5ccf1ab TL |
9554 | "rcode0", |
9555 | "regru", | |
9556 | "scaleway", | |
9557 | "schlundtech", | |
9558 | "selectel", | |
8c308065 | 9559 | "selfhost", |
c5ccf1ab TL |
9560 | "servercow", |
9561 | "simply", | |
9562 | "tele3", | |
9563 | "transip", | |
8c308065 | 9564 | "udr", |
c5ccf1ab TL |
9565 | "ultra", |
9566 | "unoeuro", | |
9567 | "variomedia", | |
e0e71e6a | 9568 | "veesp", |
8c308065 | 9569 | "vercel", |
c5ccf1ab TL |
9570 | "vscale", |
9571 | "vultr", | |
0362f73f | 9572 | "websupport", |
c5ccf1ab TL |
9573 | "world4you", |
9574 | "yandex", | |
8c308065 | 9575 | "yc", |
c5ccf1ab TL |
9576 | "zilore", |
9577 | "zone", | |
9578 | "zonomi" | |
9579 | ], | |
9580 | "optional" : 1, | |
9581 | "type" : "string" | |
9582 | }, | |
9583 | "data" : { | |
9584 | "description" : "DNS plugin data. (base64 encoded)", | |
9585 | "optional" : 1, | |
9586 | "type" : "string", | |
9587 | "typetext" : "<string>" | |
9588 | }, | |
9589 | "disable" : { | |
9590 | "description" : "Flag to disable the config.", | |
9591 | "optional" : 1, | |
9592 | "type" : "boolean", | |
9593 | "typetext" : "<boolean>" | |
9594 | }, | |
9595 | "id" : { | |
9596 | "description" : "ACME Plugin ID name", | |
9597 | "format" : "pve-configid", | |
9598 | "type" : "string", | |
9599 | "typetext" : "<string>" | |
9600 | }, | |
9601 | "nodes" : { | |
9602 | "description" : "List of cluster node names.", | |
9603 | "format" : "pve-node-list", | |
9604 | "optional" : 1, | |
9605 | "type" : "string", | |
9606 | "typetext" : "<string>" | |
9607 | }, | |
9608 | "type" : { | |
9609 | "description" : "ACME challenge type.", | |
9610 | "enum" : [ | |
9611 | "dns", | |
9612 | "standalone" | |
9613 | ], | |
9614 | "type" : "string" | |
9615 | }, | |
9616 | "validation-delay" : { | |
9617 | "default" : 30, | |
9618 | "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.", | |
9619 | "maximum" : 172800, | |
9620 | "minimum" : 0, | |
9621 | "optional" : 1, | |
9622 | "type" : "integer", | |
9623 | "typetext" : "<integer> (0 - 172800)" | |
9624 | } | |
9625 | }, | |
9626 | "type" : "object" | |
d210277a | 9627 | }, |
c5ccf1ab TL |
9628 | "permissions" : { |
9629 | "check" : [ | |
9630 | "admin" | |
9631 | ] | |
d210277a | 9632 | }, |
c5ccf1ab TL |
9633 | "protected" : 1, |
9634 | "returns" : { | |
9635 | "type" : "null" | |
9636 | } | |
9637 | } | |
9638 | }, | |
9639 | "leaf" : 0, | |
9640 | "path" : "/config/acme/plugins", | |
9641 | "text" : "plugins" | |
9642 | }, | |
9643 | { | |
9644 | "children" : [ | |
9645 | { | |
9646 | "info" : { | |
9647 | "DELETE" : { | |
9648 | "allowtoken" : 1, | |
9649 | "description" : "Deactivate existing ACME account at CA.", | |
9650 | "method" : "DELETE", | |
9651 | "name" : "deactivate_account", | |
9652 | "parameters" : { | |
9653 | "additionalProperties" : 0, | |
9654 | "properties" : { | |
9655 | "force" : { | |
9656 | "default" : 0, | |
9657 | "description" : "Delete account data even if the server refuses to deactivate the account.", | |
9658 | "optional" : 1, | |
9659 | "type" : "boolean", | |
9660 | "typetext" : "<boolean>" | |
9661 | }, | |
9662 | "name" : { | |
9663 | "default" : "default", | |
9664 | "description" : "ACME account config file name.", | |
9665 | "format" : "pve-configid", | |
9666 | "format_description" : "name", | |
9667 | "optional" : 1, | |
9668 | "type" : "string", | |
9669 | "typetext" : "<name>" | |
9670 | } | |
9671 | } | |
9672 | }, | |
9673 | "permissions" : { | |
9674 | "check" : [ | |
9675 | "admin" | |
9676 | ] | |
9677 | }, | |
9678 | "protected" : 1, | |
9679 | "proxyto" : "master", | |
9680 | "returns" : { | |
9681 | "type" : "string" | |
9682 | } | |
9683 | }, | |
9684 | "GET" : { | |
9685 | "allowtoken" : 1, | |
9686 | "description" : "Return existing ACME account information.", | |
9687 | "method" : "GET", | |
9688 | "name" : "get_account", | |
9689 | "parameters" : { | |
9690 | "additionalProperties" : 0, | |
9691 | "properties" : { | |
9692 | "name" : { | |
9693 | "default" : "default", | |
9694 | "description" : "ACME account config file name.", | |
9695 | "format" : "pve-configid", | |
9696 | "format_description" : "name", | |
9697 | "optional" : 1, | |
9698 | "type" : "string", | |
9699 | "typetext" : "<name>" | |
9700 | } | |
9701 | } | |
9702 | }, | |
9703 | "protected" : 1, | |
9704 | "proxyto" : "master", | |
9705 | "returns" : { | |
9706 | "additionalProperties" : 0, | |
9707 | "properties" : { | |
9708 | "account" : { | |
9709 | "optional" : 1, | |
9710 | "renderer" : "yaml", | |
9711 | "type" : "object" | |
9712 | }, | |
9713 | "directory" : { | |
9714 | "description" : "URL of ACME CA directory endpoint.", | |
9715 | "optional" : 1, | |
9716 | "pattern" : "^https?://.*", | |
9717 | "type" : "string" | |
9718 | }, | |
9719 | "location" : { | |
9720 | "optional" : 1, | |
9721 | "type" : "string" | |
9722 | }, | |
9723 | "tos" : { | |
9724 | "optional" : 1, | |
9725 | "type" : "string" | |
9726 | } | |
9727 | }, | |
9728 | "type" : "object" | |
9729 | } | |
9730 | }, | |
9731 | "PUT" : { | |
9732 | "allowtoken" : 1, | |
9733 | "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.", | |
9734 | "method" : "PUT", | |
9735 | "name" : "update_account", | |
9736 | "parameters" : { | |
9737 | "additionalProperties" : 0, | |
9738 | "properties" : { | |
9739 | "contact" : { | |
9740 | "description" : "Contact email addresses.", | |
9741 | "format" : "email-list", | |
9742 | "optional" : 1, | |
9743 | "type" : "string", | |
9744 | "typetext" : "<string>" | |
9745 | }, | |
9746 | "name" : { | |
9747 | "default" : "default", | |
9748 | "description" : "ACME account config file name.", | |
9749 | "format" : "pve-configid", | |
9750 | "format_description" : "name", | |
9751 | "optional" : 1, | |
9752 | "type" : "string", | |
9753 | "typetext" : "<name>" | |
9754 | } | |
9755 | } | |
9756 | }, | |
9757 | "permissions" : { | |
9758 | "check" : [ | |
9759 | "admin" | |
9760 | ] | |
9761 | }, | |
9762 | "protected" : 1, | |
9763 | "proxyto" : "master", | |
9764 | "returns" : { | |
9765 | "type" : "string" | |
9766 | } | |
9767 | } | |
d210277a | 9768 | }, |
c5ccf1ab TL |
9769 | "leaf" : 1, |
9770 | "path" : "/config/acme/account/{name}", | |
9771 | "text" : "{name}" | |
9772 | } | |
9773 | ], | |
9774 | "info" : { | |
9775 | "GET" : { | |
9776 | "allowtoken" : 1, | |
9777 | "description" : "ACME account index.", | |
9778 | "method" : "GET", | |
9779 | "name" : "account_index", | |
9780 | "parameters" : { | |
9781 | "additionalProperties" : 0 | |
eff914dc | 9782 | }, |
c5ccf1ab TL |
9783 | "permissions" : { |
9784 | "check" : [ | |
9785 | "admin", | |
9786 | "audit" | |
9787 | ] | |
a55e94a6 | 9788 | }, |
c5ccf1ab TL |
9789 | "protected" : 1, |
9790 | "returns" : { | |
9791 | "items" : { | |
9792 | "properties" : {}, | |
9793 | "type" : "object" | |
9794 | }, | |
9795 | "links" : [ | |
9796 | { | |
9797 | "href" : "{name}", | |
9798 | "rel" : "child" | |
9799 | } | |
9800 | ], | |
9801 | "type" : "array" | |
410dc2c9 DM |
9802 | } |
9803 | }, | |
c5ccf1ab TL |
9804 | "POST" : { |
9805 | "allowtoken" : 1, | |
9806 | "description" : "Register a new ACME account with CA.", | |
9807 | "method" : "POST", | |
9808 | "name" : "register_account", | |
9809 | "parameters" : { | |
9810 | "additionalProperties" : 0, | |
9811 | "properties" : { | |
9812 | "contact" : { | |
9813 | "description" : "Contact email addresses.", | |
9814 | "format" : "email-list", | |
9815 | "type" : "string", | |
9816 | "typetext" : "<string>" | |
9817 | }, | |
9818 | "directory" : { | |
9819 | "default" : "https://acme-v02.api.letsencrypt.org/directory", | |
9820 | "description" : "URL of ACME CA directory endpoint.", | |
9821 | "optional" : 1, | |
9822 | "pattern" : "^https?://.*", | |
9823 | "type" : "string" | |
9824 | }, | |
9825 | "name" : { | |
9826 | "default" : "default", | |
9827 | "description" : "ACME account config file name.", | |
9828 | "format" : "pve-configid", | |
9829 | "format_description" : "name", | |
9830 | "optional" : 1, | |
9831 | "type" : "string", | |
9832 | "typetext" : "<name>" | |
9833 | }, | |
9834 | "tos_url" : { | |
9835 | "description" : "URL of CA TermsOfService - setting this indicates agreement.", | |
9836 | "optional" : 1, | |
9837 | "type" : "string", | |
9838 | "typetext" : "<string>" | |
9839 | } | |
9840 | } | |
9841 | }, | |
9842 | "permissions" : { | |
9843 | "check" : [ | |
9844 | "admin" | |
9845 | ] | |
9846 | }, | |
9847 | "protected" : 1, | |
9848 | "proxyto" : "master", | |
9849 | "returns" : { | |
9850 | "type" : "string" | |
9851 | } | |
9852 | } | |
9853 | }, | |
9854 | "leaf" : 0, | |
9855 | "path" : "/config/acme/account", | |
9856 | "text" : "account" | |
9857 | }, | |
9858 | { | |
9859 | "info" : { | |
9860 | "GET" : { | |
9861 | "allowtoken" : 1, | |
9862 | "description" : "Retrieve ACME TermsOfService URL from CA.", | |
9863 | "method" : "GET", | |
9864 | "name" : "get_tos", | |
9865 | "parameters" : { | |
9866 | "additionalProperties" : 0, | |
9867 | "properties" : { | |
9868 | "directory" : { | |
9869 | "default" : "https://acme-v02.api.letsencrypt.org/directory", | |
9870 | "description" : "URL of ACME CA directory endpoint.", | |
9871 | "optional" : 1, | |
9872 | "pattern" : "^https?://.*", | |
9873 | "type" : "string" | |
9874 | } | |
9875 | } | |
9876 | }, | |
9877 | "permissions" : { | |
9878 | "user" : "all" | |
9879 | }, | |
9880 | "returns" : { | |
9881 | "description" : "ACME TermsOfService URL.", | |
9882 | "optional" : 1, | |
9883 | "type" : "string" | |
9884 | } | |
9885 | } | |
9886 | }, | |
9887 | "leaf" : 1, | |
9888 | "path" : "/config/acme/tos", | |
9889 | "text" : "tos" | |
9890 | }, | |
9891 | { | |
9892 | "info" : { | |
9893 | "GET" : { | |
9894 | "allowtoken" : 1, | |
9895 | "description" : "Get named known ACME directory endpoints.", | |
9896 | "method" : "GET", | |
9897 | "name" : "get_directories", | |
9898 | "parameters" : { | |
9899 | "additionalProperties" : 0 | |
9900 | }, | |
9901 | "permissions" : { | |
9902 | "user" : "all" | |
9903 | }, | |
9904 | "returns" : { | |
9905 | "items" : { | |
9906 | "additionalProperties" : 0, | |
9907 | "properties" : { | |
9908 | "name" : { | |
9909 | "type" : "string" | |
9910 | }, | |
9911 | "url" : { | |
9912 | "description" : "URL of ACME CA directory endpoint.", | |
9913 | "pattern" : "^https?://.*", | |
9914 | "type" : "string" | |
9915 | } | |
9916 | }, | |
9917 | "type" : "object" | |
9918 | }, | |
9919 | "type" : "array" | |
9920 | } | |
9921 | } | |
9922 | }, | |
9923 | "leaf" : 1, | |
9924 | "path" : "/config/acme/directories", | |
9925 | "text" : "directories" | |
9926 | }, | |
9927 | { | |
9928 | "info" : { | |
9929 | "GET" : { | |
9930 | "allowtoken" : 1, | |
9931 | "description" : "Get schema of ACME challenge types.", | |
9932 | "method" : "GET", | |
9933 | "name" : "challenge-schema", | |
9934 | "parameters" : { | |
9935 | "additionalProperties" : 0 | |
9936 | }, | |
9937 | "permissions" : { | |
9938 | "user" : "all" | |
9939 | }, | |
9940 | "returns" : { | |
9941 | "items" : { | |
9942 | "additionalProperties" : 0, | |
9943 | "properties" : { | |
9944 | "id" : { | |
9945 | "type" : "string" | |
9946 | }, | |
9947 | "name" : { | |
9948 | "description" : "Human readable name, falls back to id", | |
9949 | "type" : "string" | |
9950 | }, | |
9951 | "schema" : { | |
9952 | "type" : "object" | |
9953 | }, | |
9954 | "type" : { | |
9955 | "type" : "string" | |
9956 | } | |
9957 | }, | |
9958 | "type" : "object" | |
9959 | }, | |
9960 | "type" : "array" | |
9961 | } | |
9962 | } | |
9963 | }, | |
9964 | "leaf" : 1, | |
9965 | "path" : "/config/acme/challenge-schema", | |
9966 | "text" : "challenge-schema" | |
9967 | } | |
9968 | ], | |
9969 | "info" : { | |
9970 | "GET" : { | |
9971 | "allowtoken" : 1, | |
9972 | "description" : "ACME index.", | |
9973 | "method" : "GET", | |
9974 | "name" : "index", | |
9975 | "parameters" : { | |
9976 | "additionalProperties" : 0 | |
9977 | }, | |
9978 | "permissions" : { | |
9979 | "user" : "all" | |
9980 | }, | |
9981 | "returns" : { | |
9982 | "items" : { | |
9983 | "properties" : {}, | |
9984 | "type" : "object" | |
9985 | }, | |
9986 | "links" : [ | |
9987 | { | |
9988 | "href" : "{name}", | |
9989 | "rel" : "child" | |
9990 | } | |
9991 | ], | |
9992 | "type" : "array" | |
9993 | } | |
9994 | } | |
9995 | }, | |
9996 | "leaf" : 0, | |
9997 | "path" : "/config/acme", | |
9998 | "text" : "acme" | |
410dc2c9 | 9999 | }, |
e0e71e6a TL |
10000 | { |
10001 | "children" : [ | |
10002 | { | |
10003 | "info" : { | |
10004 | "GET" : { | |
10005 | "allowtoken" : 1, | |
10006 | "description" : "Read the webauthn configuration.", | |
10007 | "method" : "GET", | |
10008 | "name" : "get_webauthn_config", | |
10009 | "parameters" : { | |
10010 | "additionalProperties" : 0 | |
10011 | }, | |
10012 | "permissions" : { | |
10013 | "user" : "all" | |
10014 | }, | |
10015 | "protected" : 1, | |
10016 | "returns" : { | |
10017 | "optional" : 1, | |
10018 | "properties" : { | |
0b9926d3 TL |
10019 | "allow-subdomains" : { |
10020 | "default" : 1, | |
10021 | "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.", | |
10022 | "optional" : 1, | |
10023 | "type" : "boolean" | |
10024 | }, | |
e0e71e6a TL |
10025 | "id" : { |
10026 | "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.", | |
10027 | "optional" : 1, | |
10028 | "type" : "string" | |
10029 | }, | |
10030 | "origin" : { | |
10031 | "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.", | |
10032 | "optional" : 1, | |
10033 | "type" : "string" | |
10034 | }, | |
10035 | "rp" : { | |
10036 | "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.", | |
10037 | "optional" : 1, | |
10038 | "type" : "string" | |
10039 | } | |
10040 | }, | |
10041 | "type" : "object" | |
10042 | } | |
10043 | }, | |
10044 | "PUT" : { | |
10045 | "allowtoken" : 1, | |
10046 | "description" : "Read the webauthn configuration.", | |
10047 | "method" : "PUT", | |
10048 | "name" : "update_webauthn_config", | |
10049 | "parameters" : { | |
10050 | "additionalProperties" : 0, | |
10051 | "properties" : { | |
0b9926d3 TL |
10052 | "allow-subdomains" : { |
10053 | "default" : 1, | |
10054 | "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.", | |
10055 | "optional" : 1, | |
10056 | "type" : "boolean", | |
10057 | "typetext" : "<boolean>" | |
10058 | }, | |
e0e71e6a TL |
10059 | "delete" : { |
10060 | "description" : "A list of settings you want to delete.", | |
10061 | "enum" : [ | |
8c308065 | 10062 | "rp", |
e0e71e6a | 10063 | "id", |
0b9926d3 | 10064 | "origin", |
8c308065 | 10065 | "allow-subdomains" |
e0e71e6a TL |
10066 | ], |
10067 | "optional" : 1, | |
10068 | "type" : "string" | |
10069 | }, | |
10070 | "digest" : { | |
10071 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10072 | "maxLength" : 40, | |
10073 | "optional" : 1, | |
10074 | "type" : "string", | |
10075 | "typetext" : "<string>" | |
10076 | }, | |
10077 | "id" : { | |
10078 | "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.", | |
10079 | "optional" : 1, | |
10080 | "type" : "string", | |
10081 | "typetext" : "<string>" | |
10082 | }, | |
10083 | "origin" : { | |
10084 | "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.", | |
10085 | "optional" : 1, | |
10086 | "type" : "string", | |
10087 | "typetext" : "<string>" | |
10088 | }, | |
10089 | "rp" : { | |
10090 | "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.", | |
10091 | "optional" : 1, | |
10092 | "type" : "string", | |
10093 | "typetext" : "<string>" | |
10094 | } | |
10095 | } | |
10096 | }, | |
10097 | "permissions" : { | |
10098 | "check" : [ | |
10099 | "admin" | |
10100 | ] | |
10101 | }, | |
10102 | "protected" : 1, | |
10103 | "proxyto" : "master", | |
10104 | "returns" : { | |
10105 | "type" : "null" | |
10106 | } | |
10107 | } | |
10108 | }, | |
10109 | "leaf" : 1, | |
10110 | "path" : "/config/tfa/webauthn", | |
10111 | "text" : "webauthn" | |
10112 | } | |
10113 | ], | |
10114 | "info" : { | |
10115 | "GET" : { | |
10116 | "allowtoken" : 1, | |
10117 | "description" : "Directory index.", | |
10118 | "method" : "GET", | |
10119 | "name" : "index", | |
10120 | "parameters" : { | |
10121 | "additionalProperties" : 0 | |
10122 | }, | |
10123 | "returns" : { | |
10124 | "items" : { | |
10125 | "properties" : { | |
10126 | "section" : { | |
10127 | "type" : "string" | |
10128 | } | |
10129 | }, | |
10130 | "type" : "object" | |
10131 | }, | |
10132 | "links" : [ | |
10133 | { | |
10134 | "href" : "{section}", | |
10135 | "rel" : "child" | |
10136 | } | |
10137 | ], | |
10138 | "type" : "array" | |
10139 | } | |
10140 | } | |
10141 | }, | |
10142 | "leaf" : 0, | |
10143 | "path" : "/config/tfa", | |
10144 | "text" : "tfa" | |
10145 | }, | |
410dc2c9 DM |
10146 | { |
10147 | "info" : { | |
10148 | "GET" : { | |
6bd70b95 | 10149 | "allowtoken" : 1, |
c5ccf1ab | 10150 | "description" : "Read admin configuration properties.", |
410dc2c9 | 10151 | "method" : "GET", |
c5ccf1ab | 10152 | "name" : "read_admin_section", |
410dc2c9 DM |
10153 | "parameters" : { |
10154 | "additionalProperties" : 0 | |
10155 | }, | |
732d76e1 DM |
10156 | "permissions" : { |
10157 | "check" : [ | |
10158 | "admin", | |
10159 | "audit" | |
10160 | ] | |
10161 | }, | |
410dc2c9 DM |
10162 | "proxyto" : "master", |
10163 | "returns" : { | |
10164 | "type" : "object" | |
10165 | } | |
10166 | }, | |
10167 | "PUT" : { | |
6bd70b95 | 10168 | "allowtoken" : 1, |
c5ccf1ab | 10169 | "description" : "Update admin configuration properties.", |
410dc2c9 | 10170 | "method" : "PUT", |
c5ccf1ab | 10171 | "name" : "update_admin_section", |
410dc2c9 DM |
10172 | "parameters" : { |
10173 | "additionalProperties" : 0, | |
10174 | "properties" : { | |
c5ccf1ab TL |
10175 | "advfilter" : { |
10176 | "default" : 1, | |
10177 | "description" : "Use advanced filters for statistic.", | |
10178 | "optional" : 1, | |
10179 | "type" : "boolean", | |
10180 | "typetext" : "<boolean>" | |
10181 | }, | |
10182 | "avast" : { | |
410dc2c9 | 10183 | "default" : 0, |
c5ccf1ab | 10184 | "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.", |
410dc2c9 DM |
10185 | "optional" : 1, |
10186 | "type" : "boolean", | |
10187 | "typetext" : "<boolean>" | |
10188 | }, | |
c5ccf1ab TL |
10189 | "clamav" : { |
10190 | "default" : 1, | |
10191 | "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.", | |
410dc2c9 | 10192 | "optional" : 1, |
c5ccf1ab TL |
10193 | "type" : "boolean", |
10194 | "typetext" : "<boolean>" | |
410dc2c9 | 10195 | }, |
c5ccf1ab TL |
10196 | "custom_check" : { |
10197 | "default" : 0, | |
10198 | "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.", | |
410dc2c9 | 10199 | "optional" : 1, |
c5ccf1ab TL |
10200 | "type" : "boolean", |
10201 | "typetext" : "<boolean>" | |
410dc2c9 | 10202 | }, |
c5ccf1ab TL |
10203 | "custom_check_path" : { |
10204 | "default" : "/usr/local/bin/pmg-custom-check", | |
10205 | "description" : "Absolute Path to the Custom Check Script", | |
410dc2c9 | 10206 | "optional" : 1, |
c5ccf1ab TL |
10207 | "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$", |
10208 | "type" : "string" | |
410dc2c9 | 10209 | }, |
c5ccf1ab TL |
10210 | "dailyreport" : { |
10211 | "default" : 1, | |
10212 | "description" : "Send daily reports.", | |
410dc2c9 | 10213 | "optional" : 1, |
c5ccf1ab TL |
10214 | "type" : "boolean", |
10215 | "typetext" : "<boolean>" | |
410dc2c9 DM |
10216 | }, |
10217 | "delete" : { | |
10218 | "description" : "A list of settings you want to delete.", | |
10219 | "format" : "pve-configid-list", | |
10220 | "maxLength" : 4096, | |
10221 | "optional" : 1, | |
10222 | "type" : "string", | |
10223 | "typetext" : "<string>" | |
10224 | }, | |
c5ccf1ab TL |
10225 | "demo" : { |
10226 | "default" : 0, | |
10227 | "description" : "Demo mode - do not start SMTP filter.", | |
10228 | "optional" : 1, | |
10229 | "type" : "boolean", | |
10230 | "typetext" : "<boolean>" | |
10231 | }, | |
410dc2c9 DM |
10232 | "digest" : { |
10233 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10234 | "maxLength" : 40, | |
10235 | "optional" : 1, | |
10236 | "type" : "string", | |
10237 | "typetext" : "<string>" | |
10238 | }, | |
c5ccf1ab TL |
10239 | "dkim_selector" : { |
10240 | "description" : "Default DKIM selector", | |
10241 | "format" : "dns-name", | |
410dc2c9 | 10242 | "optional" : 1, |
c5ccf1ab TL |
10243 | "type" : "string", |
10244 | "typetext" : "<string>" | |
f245a28c | 10245 | }, |
c5ccf1ab TL |
10246 | "dkim_sign" : { |
10247 | "default" : 0, | |
10248 | "description" : "DKIM sign outbound mails with the configured Selector.", | |
f245a28c DM |
10249 | "optional" : 1, |
10250 | "type" : "boolean", | |
10251 | "typetext" : "<boolean>" | |
549cfb68 | 10252 | }, |
c5ccf1ab | 10253 | "dkim_sign_all_mail" : { |
549cfb68 | 10254 | "default" : 0, |
c5ccf1ab | 10255 | "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.", |
549cfb68 TL |
10256 | "optional" : 1, |
10257 | "type" : "boolean", | |
10258 | "typetext" : "<boolean>" | |
c5ccf1ab TL |
10259 | }, |
10260 | "email" : { | |
10261 | "default" : "admin@domain.tld", | |
10262 | "description" : "Administrator E-Mail address.", | |
10263 | "format" : "email", | |
10264 | "optional" : 1, | |
10265 | "type" : "string", | |
10266 | "typetext" : "<string>" | |
10267 | }, | |
10268 | "http_proxy" : { | |
10269 | "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')", | |
10270 | "optional" : 1, | |
10271 | "pattern" : "http://.*", | |
10272 | "type" : "string" | |
10273 | }, | |
10274 | "statlifetime" : { | |
10275 | "default" : 7, | |
10276 | "description" : "User Statistics Lifetime (days)", | |
10277 | "minimum" : 1, | |
10278 | "optional" : 1, | |
10279 | "type" : "integer", | |
10280 | "typetext" : "<integer> (1 - N)" | |
10281 | } | |
10282 | }, | |
10283 | "type" : "object" | |
10284 | }, | |
10285 | "permissions" : { | |
10286 | "check" : [ | |
10287 | "admin" | |
10288 | ] | |
10289 | }, | |
10290 | "protected" : 1, | |
10291 | "proxyto" : "master", | |
10292 | "returns" : { | |
10293 | "type" : "null" | |
10294 | } | |
10295 | } | |
10296 | }, | |
10297 | "leaf" : 1, | |
10298 | "path" : "/config/admin", | |
10299 | "text" : "admin" | |
10300 | }, | |
10301 | { | |
10302 | "info" : { | |
10303 | "GET" : { | |
10304 | "allowtoken" : 1, | |
10305 | "description" : "Read clamav configuration properties.", | |
10306 | "method" : "GET", | |
10307 | "name" : "read_clamav_section", | |
10308 | "parameters" : { | |
10309 | "additionalProperties" : 0 | |
10310 | }, | |
10311 | "permissions" : { | |
10312 | "check" : [ | |
10313 | "admin", | |
10314 | "audit" | |
10315 | ] | |
10316 | }, | |
10317 | "proxyto" : "master", | |
10318 | "returns" : { | |
10319 | "type" : "object" | |
10320 | } | |
10321 | }, | |
10322 | "PUT" : { | |
10323 | "allowtoken" : 1, | |
10324 | "description" : "Update clamav configuration properties.", | |
10325 | "method" : "PUT", | |
10326 | "name" : "update_clamav_section", | |
10327 | "parameters" : { | |
10328 | "additionalProperties" : 0, | |
10329 | "properties" : { | |
10330 | "archiveblockencrypted" : { | |
10331 | "default" : 0, | |
10332 | "description" : "Whether to mark encrypted archives and documents as heuristic virus match. A match does not necessarily result in an immediate block, it just raises the Spam Score by 'clamav_heuristic_score'.", | |
10333 | "optional" : 1, | |
10334 | "type" : "boolean", | |
10335 | "typetext" : "<boolean>" | |
10336 | }, | |
10337 | "archivemaxfiles" : { | |
10338 | "default" : 1000, | |
10339 | "description" : "Number of files to be scanned within an archive, a document, or any other kind of container. Warning: disabling this limit or setting it too high may result in severe damage to the system.", | |
10340 | "minimum" : 0, | |
10341 | "optional" : 1, | |
10342 | "type" : "integer", | |
10343 | "typetext" : "<integer> (0 - N)" | |
10344 | }, | |
10345 | "archivemaxrec" : { | |
10346 | "default" : 5, | |
10347 | "description" : "Nested archives are scanned recursively, e.g. if a ZIP archive contains a TAR file, all files within it will also be scanned. This options specifies how deeply the process should be continued. Warning: setting this limit too high may result in severe damage to the system.", | |
10348 | "minimum" : 1, | |
10349 | "optional" : 1, | |
10350 | "type" : "integer", | |
10351 | "typetext" : "<integer> (1 - N)" | |
10352 | }, | |
10353 | "archivemaxsize" : { | |
10354 | "default" : 25000000, | |
10355 | "description" : "Files larger than this limit (in bytes) won't be scanned.", | |
10356 | "minimum" : 1000000, | |
10357 | "optional" : 1, | |
10358 | "type" : "integer", | |
10359 | "typetext" : "<integer> (1000000 - N)" | |
10360 | }, | |
10361 | "dbmirror" : { | |
10362 | "default" : "database.clamav.net", | |
10363 | "description" : "ClamAV database mirror server.", | |
10364 | "optional" : 1, | |
10365 | "type" : "string", | |
10366 | "typetext" : "<string>" | |
10367 | }, | |
10368 | "delete" : { | |
10369 | "description" : "A list of settings you want to delete.", | |
10370 | "format" : "pve-configid-list", | |
10371 | "maxLength" : 4096, | |
10372 | "optional" : 1, | |
10373 | "type" : "string", | |
10374 | "typetext" : "<string>" | |
10375 | }, | |
10376 | "digest" : { | |
10377 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10378 | "maxLength" : 40, | |
10379 | "optional" : 1, | |
10380 | "type" : "string", | |
10381 | "typetext" : "<string>" | |
10382 | }, | |
10383 | "maxcccount" : { | |
10384 | "default" : 0, | |
10385 | "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.", | |
10386 | "minimum" : 0, | |
10387 | "optional" : 1, | |
10388 | "type" : "integer", | |
10389 | "typetext" : "<integer> (0 - N)" | |
10390 | }, | |
10391 | "maxscansize" : { | |
10392 | "default" : 100000000, | |
10393 | "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.", | |
10394 | "minimum" : 1000000, | |
10395 | "optional" : 1, | |
10396 | "type" : "integer", | |
10397 | "typetext" : "<integer> (1000000 - N)" | |
10398 | }, | |
10399 | "safebrowsing" : { | |
0362f73f SI |
10400 | "default" : 0, |
10401 | "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)", | |
c5ccf1ab TL |
10402 | "optional" : 1, |
10403 | "type" : "boolean", | |
10404 | "typetext" : "<boolean>" | |
10405 | }, | |
10406 | "scriptedupdates" : { | |
b4ec4bc2 | 10407 | "default" : 1, |
c5ccf1ab TL |
10408 | "description" : "Enables ScriptedUpdates (incremental download of signatures)", |
10409 | "optional" : 1, | |
10410 | "type" : "boolean", | |
10411 | "typetext" : "<boolean>" | |
10412 | } | |
10413 | }, | |
10414 | "type" : "object" | |
410dc2c9 | 10415 | }, |
732d76e1 DM |
10416 | "permissions" : { |
10417 | "check" : [ | |
10418 | "admin" | |
10419 | ] | |
10420 | }, | |
410dc2c9 DM |
10421 | "protected" : 1, |
10422 | "proxyto" : "master", | |
10423 | "returns" : { | |
10424 | "type" : "null" | |
10425 | } | |
10426 | } | |
10427 | }, | |
10428 | "leaf" : 1, | |
10429 | "path" : "/config/clamav", | |
10430 | "text" : "clamav" | |
10431 | }, | |
10432 | { | |
10433 | "info" : { | |
10434 | "GET" : { | |
6bd70b95 | 10435 | "allowtoken" : 1, |
410dc2c9 DM |
10436 | "description" : "Read mail configuration properties.", |
10437 | "method" : "GET", | |
10438 | "name" : "read_mail_section", | |
10439 | "parameters" : { | |
10440 | "additionalProperties" : 0 | |
10441 | }, | |
732d76e1 DM |
10442 | "permissions" : { |
10443 | "check" : [ | |
10444 | "admin", | |
10445 | "audit" | |
10446 | ] | |
10447 | }, | |
410dc2c9 DM |
10448 | "proxyto" : "master", |
10449 | "returns" : { | |
10450 | "type" : "object" | |
10451 | } | |
10452 | }, | |
10453 | "PUT" : { | |
6bd70b95 | 10454 | "allowtoken" : 1, |
410dc2c9 DM |
10455 | "description" : "Update mail configuration properties.", |
10456 | "method" : "PUT", | |
10457 | "name" : "update_mail_section", | |
10458 | "parameters" : { | |
10459 | "additionalProperties" : 0, | |
10460 | "properties" : { | |
10461 | "banner" : { | |
10462 | "default" : "ESMTP Proxmox", | |
10463 | "description" : "ESMTP banner.", | |
10464 | "maxLength" : 1024, | |
10465 | "optional" : 1, | |
10466 | "type" : "string", | |
10467 | "typetext" : "<string>" | |
10468 | }, | |
d210277a TL |
10469 | "before_queue_filtering" : { |
10470 | "default" : 0, | |
10471 | "description" : "Enable before queue filtering by pmg-smtp-filter", | |
10472 | "optional" : 1, | |
10473 | "type" : "boolean", | |
10474 | "typetext" : "<boolean>" | |
10475 | }, | |
410dc2c9 DM |
10476 | "conn_count_limit" : { |
10477 | "default" : 50, | |
10478 | "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.", | |
10479 | "minimum" : 0, | |
10480 | "optional" : 1, | |
10481 | "type" : "integer", | |
10482 | "typetext" : "<integer> (0 - N)" | |
10483 | }, | |
10484 | "conn_rate_limit" : { | |
10485 | "default" : 0, | |
10486 | "description" : "The maximal number of connection attempts any client is allowed to make to this service per minute. To disable this feature, specify a limit of 0.", | |
10487 | "minimum" : 0, | |
10488 | "optional" : 1, | |
10489 | "type" : "integer", | |
10490 | "typetext" : "<integer> (0 - N)" | |
10491 | }, | |
10492 | "delete" : { | |
10493 | "description" : "A list of settings you want to delete.", | |
10494 | "format" : "pve-configid-list", | |
10495 | "maxLength" : 4096, | |
10496 | "optional" : 1, | |
10497 | "type" : "string", | |
10498 | "typetext" : "<string>" | |
10499 | }, | |
10500 | "digest" : { | |
10501 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10502 | "maxLength" : 40, | |
10503 | "optional" : 1, | |
10504 | "type" : "string", | |
10505 | "typetext" : "<string>" | |
10506 | }, | |
10507 | "dnsbl_sites" : { | |
10508 | "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).", | |
274b47fc | 10509 | "format" : "dnsbl-entry-list", |
410dc2c9 DM |
10510 | "optional" : 1, |
10511 | "type" : "string", | |
10512 | "typetext" : "<string>" | |
10513 | }, | |
445686c9 DM |
10514 | "dnsbl_threshold" : { |
10515 | "default" : 1, | |
10516 | "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).", | |
10517 | "minimum" : 0, | |
10518 | "optional" : 1, | |
10519 | "type" : "integer", | |
10520 | "typetext" : "<integer> (0 - N)" | |
10521 | }, | |
410dc2c9 DM |
10522 | "dwarning" : { |
10523 | "default" : 4, | |
10524 | "description" : "SMTP delay warning time (in hours).", | |
10525 | "minimum" : 0, | |
10526 | "optional" : 1, | |
10527 | "type" : "integer", | |
10528 | "typetext" : "<integer> (0 - N)" | |
10529 | }, | |
eff914dc | 10530 | "ext_port" : { |
4a46ced6 | 10531 | "default" : 25, |
eff914dc DM |
10532 | "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.", |
10533 | "maximum" : 65535, | |
10534 | "minimum" : 1, | |
10535 | "optional" : 1, | |
10536 | "type" : "integer", | |
10537 | "typetext" : "<integer> (1 - 65535)" | |
10538 | }, | |
410dc2c9 DM |
10539 | "greylist" : { |
10540 | "default" : 1, | |
549cfb68 TL |
10541 | "description" : "Use Greylisting for IPv4.", |
10542 | "optional" : 1, | |
10543 | "type" : "boolean", | |
10544 | "typetext" : "<boolean>" | |
10545 | }, | |
10546 | "greylist6" : { | |
10547 | "default" : 0, | |
10548 | "description" : "Use Greylisting for IPv6.", | |
410dc2c9 DM |
10549 | "optional" : 1, |
10550 | "type" : "boolean", | |
10551 | "typetext" : "<boolean>" | |
10552 | }, | |
549cfb68 TL |
10553 | "greylistmask4" : { |
10554 | "default" : 24, | |
10555 | "description" : "Netmask to apply for greylisting IPv4 hosts", | |
10556 | "maximum" : 32, | |
10557 | "minimum" : 0, | |
10558 | "optional" : 1, | |
10559 | "type" : "integer", | |
10560 | "typetext" : "<integer> (0 - 32)" | |
10561 | }, | |
10562 | "greylistmask6" : { | |
10563 | "default" : 64, | |
10564 | "description" : "Netmask to apply for greylisting IPv6 hosts", | |
10565 | "maximum" : 128, | |
10566 | "minimum" : 0, | |
10567 | "optional" : 1, | |
10568 | "type" : "integer", | |
10569 | "typetext" : "<integer> (0 - 128)" | |
10570 | }, | |
410dc2c9 DM |
10571 | "helotests" : { |
10572 | "default" : 0, | |
10573 | "description" : "Use SMTP HELO tests.", | |
10574 | "optional" : 1, | |
10575 | "type" : "boolean", | |
10576 | "typetext" : "<boolean>" | |
10577 | }, | |
10578 | "hide_received" : { | |
10579 | "default" : 0, | |
10580 | "description" : "Hide received header in outgoing mails.", | |
10581 | "optional" : 1, | |
10582 | "type" : "boolean", | |
10583 | "typetext" : "<boolean>" | |
10584 | }, | |
eff914dc | 10585 | "int_port" : { |
4a46ced6 | 10586 | "default" : 26, |
eff914dc DM |
10587 | "description" : "SMTP port number for outgoing mail (trusted).", |
10588 | "maximum" : 65535, | |
10589 | "minimum" : 1, | |
10590 | "optional" : 1, | |
10591 | "type" : "integer", | |
10592 | "typetext" : "<integer> (1 - 65535)" | |
10593 | }, | |
410dc2c9 | 10594 | "max_filters" : { |
0362f73f | 10595 | "default" : 38, |
410dc2c9 DM |
10596 | "description" : "Maximum number of pmg-smtp-filter processes.", |
10597 | "maximum" : 40, | |
10598 | "minimum" : 3, | |
10599 | "optional" : 1, | |
10600 | "type" : "integer", | |
10601 | "typetext" : "<integer> (3 - 40)" | |
10602 | }, | |
10603 | "max_policy" : { | |
10604 | "default" : 5, | |
10605 | "description" : "Maximum number of pmgpolicy processes.", | |
10606 | "maximum" : 10, | |
10607 | "minimum" : 2, | |
10608 | "optional" : 1, | |
10609 | "type" : "integer", | |
10610 | "typetext" : "<integer> (2 - 10)" | |
10611 | }, | |
10612 | "max_smtpd_in" : { | |
241ac83c | 10613 | "default" : 100, |
410dc2c9 DM |
10614 | "description" : "Maximum number of SMTP daemon processes (in).", |
10615 | "maximum" : 100, | |
10616 | "minimum" : 3, | |
10617 | "optional" : 1, | |
10618 | "type" : "integer", | |
10619 | "typetext" : "<integer> (3 - 100)" | |
10620 | }, | |
10621 | "max_smtpd_out" : { | |
241ac83c | 10622 | "default" : 100, |
410dc2c9 DM |
10623 | "description" : "Maximum number of SMTP daemon processes (out).", |
10624 | "maximum" : 100, | |
10625 | "minimum" : 3, | |
10626 | "optional" : 1, | |
10627 | "type" : "integer", | |
10628 | "typetext" : "<integer> (3 - 100)" | |
10629 | }, | |
10630 | "maxsize" : { | |
10631 | "default" : 10485760, | |
10632 | "description" : "Maximum email size. Larger mails are rejected.", | |
10633 | "minimum" : 1024, | |
10634 | "optional" : 1, | |
10635 | "type" : "integer", | |
10636 | "typetext" : "<integer> (1024 - N)" | |
10637 | }, | |
10638 | "message_rate_limit" : { | |
10639 | "default" : 0, | |
10640 | "description" : "The maximal number of message delivery requests that any client is allowed to make to this service per minute.To disable this feature, specify a limit of 0.", | |
10641 | "minimum" : 0, | |
10642 | "optional" : 1, | |
10643 | "type" : "integer", | |
10644 | "typetext" : "<integer> (0 - N)" | |
10645 | }, | |
d210277a TL |
10646 | "ndr_on_block" : { |
10647 | "default" : 0, | |
10648 | "description" : "Send out NDR when mail gets blocked", | |
10649 | "optional" : 1, | |
10650 | "type" : "boolean", | |
10651 | "typetext" : "<boolean>" | |
10652 | }, | |
410dc2c9 DM |
10653 | "rejectunknown" : { |
10654 | "default" : 0, | |
10655 | "description" : "Reject unknown clients.", | |
10656 | "optional" : 1, | |
10657 | "type" : "boolean", | |
10658 | "typetext" : "<boolean>" | |
10659 | }, | |
10660 | "rejectunknownsender" : { | |
10661 | "default" : 0, | |
10662 | "description" : "Reject unknown senders.", | |
10663 | "optional" : 1, | |
10664 | "type" : "boolean", | |
10665 | "typetext" : "<boolean>" | |
10666 | }, | |
10667 | "relay" : { | |
10668 | "description" : "The default mail delivery transport (incoming mails).", | |
eff914dc | 10669 | "format" : "address", |
410dc2c9 DM |
10670 | "optional" : 1, |
10671 | "type" : "string", | |
10672 | "typetext" : "<string>" | |
10673 | }, | |
10674 | "relaynomx" : { | |
10675 | "default" : 0, | |
6bd70b95 | 10676 | "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).", |
410dc2c9 DM |
10677 | "optional" : 1, |
10678 | "type" : "boolean", | |
10679 | "typetext" : "<boolean>" | |
10680 | }, | |
10681 | "relayport" : { | |
10682 | "default" : 25, | |
6bd70b95 | 10683 | "description" : "SMTP/LMTP port number for relay host.", |
410dc2c9 DM |
10684 | "maximum" : 65535, |
10685 | "minimum" : 1, | |
10686 | "optional" : 1, | |
10687 | "type" : "integer", | |
10688 | "typetext" : "<integer> (1 - 65535)" | |
10689 | }, | |
6bd70b95 TL |
10690 | "relayprotocol" : { |
10691 | "default" : "smtp", | |
10692 | "description" : "Transport protocol for relay host.", | |
10693 | "enum" : [ | |
10694 | "smtp", | |
10695 | "lmtp" | |
10696 | ], | |
10697 | "optional" : 1, | |
10698 | "type" : "string" | |
10699 | }, | |
eff914dc DM |
10700 | "smarthost" : { |
10701 | "description" : "When set, all outgoing mails are deliverd to the specified smarthost.", | |
10702 | "format" : "address", | |
10703 | "optional" : 1, | |
10704 | "type" : "string", | |
10705 | "typetext" : "<string>" | |
10706 | }, | |
445686c9 DM |
10707 | "smarthostport" : { |
10708 | "default" : 25, | |
10709 | "description" : "SMTP port number for smarthost.", | |
10710 | "maximum" : 65535, | |
10711 | "minimum" : 1, | |
10712 | "optional" : 1, | |
10713 | "type" : "integer", | |
10714 | "typetext" : "<integer> (1 - 65535)" | |
10715 | }, | |
8c308065 TL |
10716 | "smtputf8" : { |
10717 | "default" : 1, | |
10718 | "description" : "Enable SMTPUTF8 support in Postfix and detection for locally generated mail", | |
10719 | "optional" : 1, | |
10720 | "type" : "boolean", | |
10721 | "typetext" : "<boolean>" | |
10722 | }, | |
410dc2c9 DM |
10723 | "spf" : { |
10724 | "default" : 1, | |
10725 | "description" : "Use Sender Policy Framework.", | |
10726 | "optional" : 1, | |
10727 | "type" : "boolean", | |
10728 | "typetext" : "<boolean>" | |
10729 | }, | |
10730 | "tls" : { | |
10731 | "default" : 0, | |
eff914dc DM |
10732 | "description" : "Enable TLS.", |
10733 | "optional" : 1, | |
10734 | "type" : "boolean", | |
10735 | "typetext" : "<boolean>" | |
10736 | }, | |
10737 | "tlsheader" : { | |
10738 | "default" : 0, | |
10739 | "description" : "Add TLS received header.", | |
10740 | "optional" : 1, | |
10741 | "type" : "boolean", | |
10742 | "typetext" : "<boolean>" | |
10743 | }, | |
10744 | "tlslog" : { | |
10745 | "default" : 0, | |
10746 | "description" : "Enable TLS Logging.", | |
410dc2c9 DM |
10747 | "optional" : 1, |
10748 | "type" : "boolean", | |
10749 | "typetext" : "<boolean>" | |
10750 | }, | |
410dc2c9 | 10751 | "verifyreceivers" : { |
eff914dc DM |
10752 | "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.", |
10753 | "enum" : [ | |
10754 | "450", | |
10755 | "550" | |
10756 | ], | |
410dc2c9 | 10757 | "optional" : 1, |
eff914dc | 10758 | "type" : "string" |
410dc2c9 DM |
10759 | } |
10760 | }, | |
10761 | "type" : "object" | |
10762 | }, | |
732d76e1 DM |
10763 | "permissions" : { |
10764 | "check" : [ | |
10765 | "admin" | |
10766 | ] | |
10767 | }, | |
410dc2c9 DM |
10768 | "protected" : 1, |
10769 | "proxyto" : "master", | |
10770 | "returns" : { | |
10771 | "type" : "null" | |
10772 | } | |
10773 | } | |
10774 | }, | |
10775 | "leaf" : 1, | |
10776 | "path" : "/config/mail", | |
10777 | "text" : "mail" | |
10778 | }, | |
10779 | { | |
10780 | "info" : { | |
10781 | "GET" : { | |
6bd70b95 | 10782 | "allowtoken" : 1, |
410dc2c9 DM |
10783 | "description" : "Read spam configuration properties.", |
10784 | "method" : "GET", | |
10785 | "name" : "read_spam_section", | |
10786 | "parameters" : { | |
10787 | "additionalProperties" : 0 | |
10788 | }, | |
732d76e1 DM |
10789 | "permissions" : { |
10790 | "check" : [ | |
10791 | "admin", | |
10792 | "audit" | |
10793 | ] | |
10794 | }, | |
410dc2c9 DM |
10795 | "proxyto" : "master", |
10796 | "returns" : { | |
10797 | "type" : "object" | |
10798 | } | |
10799 | }, | |
10800 | "PUT" : { | |
6bd70b95 | 10801 | "allowtoken" : 1, |
410dc2c9 DM |
10802 | "description" : "Update spam configuration properties.", |
10803 | "method" : "PUT", | |
10804 | "name" : "update_spam_section", | |
10805 | "parameters" : { | |
10806 | "additionalProperties" : 0, | |
10807 | "properties" : { | |
10808 | "bounce_score" : { | |
10809 | "default" : 0, | |
10810 | "description" : "Additional score for bounce mails.", | |
10811 | "maximum" : 1000, | |
10812 | "minimum" : 0, | |
10813 | "optional" : 1, | |
10814 | "type" : "integer", | |
10815 | "typetext" : "<integer> (0 - 1000)" | |
10816 | }, | |
274b47fc DM |
10817 | "clamav_heuristic_score" : { |
10818 | "default" : 3, | |
0362f73f | 10819 | "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).", |
274b47fc DM |
10820 | "maximum" : 1000, |
10821 | "minimum" : 0, | |
10822 | "optional" : 1, | |
10823 | "type" : "integer", | |
10824 | "typetext" : "<integer> (0 - 1000)" | |
10825 | }, | |
410dc2c9 DM |
10826 | "delete" : { |
10827 | "description" : "A list of settings you want to delete.", | |
10828 | "format" : "pve-configid-list", | |
10829 | "maxLength" : 4096, | |
10830 | "optional" : 1, | |
10831 | "type" : "string", | |
10832 | "typetext" : "<string>" | |
10833 | }, | |
10834 | "digest" : { | |
10835 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10836 | "maxLength" : 40, | |
10837 | "optional" : 1, | |
10838 | "type" : "string", | |
10839 | "typetext" : "<string>" | |
10840 | }, | |
8c308065 TL |
10841 | "extract_text" : { |
10842 | "default" : 0, | |
10843 | "description" : "Extract text from attachments (doc, pdf, rtf, images) and scan for spam.", | |
10844 | "optional" : 1, | |
10845 | "type" : "boolean", | |
10846 | "typetext" : "<boolean>" | |
10847 | }, | |
410dc2c9 DM |
10848 | "languages" : { |
10849 | "default" : "all", | |
10850 | "description" : "This option is used to specify which languages are considered OK for incoming mail.", | |
10851 | "optional" : 1, | |
10852 | "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)", | |
10853 | "type" : "string" | |
10854 | }, | |
10855 | "maxspamsize" : { | |
274b47fc | 10856 | "default" : 262144, |
410dc2c9 DM |
10857 | "description" : "Maximum size of spam messages in bytes.", |
10858 | "minimum" : 64, | |
10859 | "optional" : 1, | |
10860 | "type" : "integer", | |
10861 | "typetext" : "<integer> (64 - N)" | |
10862 | }, | |
10863 | "rbl_checks" : { | |
10864 | "default" : 1, | |
10865 | "description" : "Enable real time blacklists (RBL) checks.", | |
10866 | "optional" : 1, | |
10867 | "type" : "boolean", | |
10868 | "typetext" : "<boolean>" | |
10869 | }, | |
10870 | "use_awl" : { | |
10871 | "default" : 1, | |
10872 | "description" : "Use the Auto-Whitelist plugin.", | |
10873 | "optional" : 1, | |
10874 | "type" : "boolean", | |
10875 | "typetext" : "<boolean>" | |
10876 | }, | |
10877 | "use_bayes" : { | |
10878 | "default" : 1, | |
10879 | "description" : "Whether to use the naive-Bayesian-style classifier.", | |
10880 | "optional" : 1, | |
10881 | "type" : "boolean", | |
10882 | "typetext" : "<boolean>" | |
10883 | }, | |
410dc2c9 DM |
10884 | "use_razor" : { |
10885 | "default" : 1, | |
10886 | "description" : "Whether to use Razor2, if it is available.", | |
10887 | "optional" : 1, | |
10888 | "type" : "boolean", | |
10889 | "typetext" : "<boolean>" | |
10890 | }, | |
10891 | "wl_bounce_relays" : { | |
10892 | "description" : "Whitelist legitimate bounce relays.", | |
10893 | "optional" : 1, | |
10894 | "type" : "string", | |
10895 | "typetext" : "<string>" | |
10896 | } | |
10897 | }, | |
10898 | "type" : "object" | |
10899 | }, | |
732d76e1 DM |
10900 | "permissions" : { |
10901 | "check" : [ | |
10902 | "admin" | |
10903 | ] | |
10904 | }, | |
410dc2c9 DM |
10905 | "protected" : 1, |
10906 | "proxyto" : "master", | |
10907 | "returns" : { | |
10908 | "type" : "null" | |
10909 | } | |
10910 | } | |
10911 | }, | |
10912 | "leaf" : 1, | |
10913 | "path" : "/config/spam", | |
10914 | "text" : "spam" | |
f245a28c DM |
10915 | }, |
10916 | { | |
10917 | "info" : { | |
10918 | "GET" : { | |
6bd70b95 | 10919 | "allowtoken" : 1, |
f245a28c DM |
10920 | "description" : "Read spamquar configuration properties.", |
10921 | "method" : "GET", | |
10922 | "name" : "read_spamquar_section", | |
10923 | "parameters" : { | |
10924 | "additionalProperties" : 0 | |
10925 | }, | |
732d76e1 DM |
10926 | "permissions" : { |
10927 | "check" : [ | |
10928 | "admin", | |
10929 | "audit" | |
10930 | ] | |
10931 | }, | |
f245a28c DM |
10932 | "proxyto" : "master", |
10933 | "returns" : { | |
10934 | "type" : "object" | |
10935 | } | |
10936 | }, | |
10937 | "PUT" : { | |
6bd70b95 | 10938 | "allowtoken" : 1, |
f245a28c DM |
10939 | "description" : "Update spamquar configuration properties.", |
10940 | "method" : "PUT", | |
10941 | "name" : "update_spamquar_section", | |
10942 | "parameters" : { | |
10943 | "additionalProperties" : 0, | |
10944 | "properties" : { | |
10945 | "allowhrefs" : { | |
10946 | "default" : 1, | |
10947 | "description" : "Allow to view hyperlinks.", | |
10948 | "optional" : 1, | |
10949 | "type" : "boolean", | |
10950 | "typetext" : "<boolean>" | |
10951 | }, | |
10952 | "authmode" : { | |
10953 | "default" : "ticket", | |
10954 | "description" : "Authentication mode to access the quarantine interface. Mode 'ticket' allows login using tickets sent with the daily spam report. Mode 'ldap' requires to login using an LDAP account. Finally, mode 'ldapticket' allows both ways.", | |
10955 | "enum" : [ | |
10956 | "ticket", | |
10957 | "ldap", | |
10958 | "ldapticket" | |
10959 | ], | |
10960 | "optional" : 1, | |
10961 | "type" : "string" | |
10962 | }, | |
10963 | "delete" : { | |
10964 | "description" : "A list of settings you want to delete.", | |
10965 | "format" : "pve-configid-list", | |
10966 | "maxLength" : 4096, | |
10967 | "optional" : 1, | |
10968 | "type" : "string", | |
10969 | "typetext" : "<string>" | |
10970 | }, | |
10971 | "digest" : { | |
10972 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10973 | "maxLength" : 40, | |
10974 | "optional" : 1, | |
10975 | "type" : "string", | |
10976 | "typetext" : "<string>" | |
10977 | }, | |
10978 | "hostname" : { | |
b81b1f95 | 10979 | "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.", |
f245a28c DM |
10980 | "format" : "address", |
10981 | "optional" : 1, | |
10982 | "type" : "string", | |
10983 | "typetext" : "<string>" | |
10984 | }, | |
10985 | "lifetime" : { | |
10986 | "default" : 7, | |
10987 | "description" : "Quarantine life time (days)", | |
10988 | "minimum" : 1, | |
10989 | "optional" : 1, | |
10990 | "type" : "integer", | |
10991 | "typetext" : "<integer> (1 - N)" | |
10992 | }, | |
10993 | "mailfrom" : { | |
10994 | "description" : "Text for 'From' header in daily spam report mails.", | |
10995 | "optional" : 1, | |
10996 | "type" : "string", | |
10997 | "typetext" : "<string>" | |
10998 | }, | |
b81b1f95 DM |
10999 | "port" : { |
11000 | "default" : 8006, | |
11001 | "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.", | |
11002 | "maximum" : 65535, | |
11003 | "minimum" : 1, | |
11004 | "optional" : 1, | |
11005 | "type" : "integer", | |
11006 | "typetext" : "<integer> (1 - 65535)" | |
11007 | }, | |
11008 | "protocol" : { | |
11009 | "default" : "https", | |
11010 | "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.", | |
11011 | "enum" : [ | |
11012 | "http", | |
11013 | "https" | |
11014 | ], | |
11015 | "optional" : 1, | |
11016 | "type" : "string" | |
11017 | }, | |
ab2b846b TL |
11018 | "quarantinelink" : { |
11019 | "default" : 0, | |
11020 | "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication", | |
11021 | "optional" : 1, | |
11022 | "type" : "boolean", | |
11023 | "typetext" : "<boolean>" | |
11024 | }, | |
f245a28c DM |
11025 | "reportstyle" : { |
11026 | "default" : "verbose", | |
11027 | "description" : "Spam report style.", | |
11028 | "enum" : [ | |
11029 | "none", | |
11030 | "short", | |
11031 | "verbose", | |
f245a28c DM |
11032 | "custom" |
11033 | ], | |
11034 | "optional" : 1, | |
11035 | "type" : "string" | |
11036 | }, | |
a55e94a6 DM |
11037 | "viewimages" : { |
11038 | "default" : 1, | |
11039 | "description" : "Allow to view images.", | |
11040 | "optional" : 1, | |
11041 | "type" : "boolean", | |
11042 | "typetext" : "<boolean>" | |
11043 | } | |
11044 | }, | |
11045 | "type" : "object" | |
11046 | }, | |
732d76e1 DM |
11047 | "permissions" : { |
11048 | "check" : [ | |
11049 | "admin" | |
11050 | ] | |
11051 | }, | |
a55e94a6 DM |
11052 | "protected" : 1, |
11053 | "proxyto" : "master", | |
11054 | "returns" : { | |
11055 | "type" : "null" | |
11056 | } | |
11057 | } | |
11058 | }, | |
11059 | "leaf" : 1, | |
11060 | "path" : "/config/spamquar", | |
11061 | "text" : "spamquar" | |
11062 | }, | |
11063 | { | |
11064 | "info" : { | |
11065 | "GET" : { | |
6bd70b95 | 11066 | "allowtoken" : 1, |
a55e94a6 DM |
11067 | "description" : "Read virusquar configuration properties.", |
11068 | "method" : "GET", | |
11069 | "name" : "read_virusquar_section", | |
11070 | "parameters" : { | |
11071 | "additionalProperties" : 0 | |
11072 | }, | |
732d76e1 DM |
11073 | "permissions" : { |
11074 | "check" : [ | |
11075 | "admin", | |
11076 | "audit" | |
11077 | ] | |
11078 | }, | |
a55e94a6 DM |
11079 | "proxyto" : "master", |
11080 | "returns" : { | |
11081 | "type" : "object" | |
11082 | } | |
11083 | }, | |
11084 | "PUT" : { | |
6bd70b95 | 11085 | "allowtoken" : 1, |
a55e94a6 DM |
11086 | "description" : "Update virusquar configuration properties.", |
11087 | "method" : "PUT", | |
11088 | "name" : "update_virusquar_section", | |
11089 | "parameters" : { | |
11090 | "additionalProperties" : 0, | |
11091 | "properties" : { | |
11092 | "allowhrefs" : { | |
11093 | "default" : 1, | |
11094 | "description" : "Allow to view hyperlinks.", | |
11095 | "optional" : 1, | |
11096 | "type" : "boolean", | |
11097 | "typetext" : "<boolean>" | |
11098 | }, | |
11099 | "delete" : { | |
11100 | "description" : "A list of settings you want to delete.", | |
11101 | "format" : "pve-configid-list", | |
11102 | "maxLength" : 4096, | |
11103 | "optional" : 1, | |
11104 | "type" : "string", | |
11105 | "typetext" : "<string>" | |
11106 | }, | |
11107 | "digest" : { | |
11108 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
11109 | "maxLength" : 40, | |
11110 | "optional" : 1, | |
11111 | "type" : "string", | |
11112 | "typetext" : "<string>" | |
11113 | }, | |
11114 | "lifetime" : { | |
11115 | "default" : 7, | |
11116 | "description" : "Quarantine life time (days)", | |
11117 | "minimum" : 1, | |
11118 | "optional" : 1, | |
11119 | "type" : "integer", | |
11120 | "typetext" : "<integer> (1 - N)" | |
11121 | }, | |
11122 | "viewimages" : { | |
11123 | "default" : 1, | |
11124 | "description" : "Allow to view images.", | |
11125 | "optional" : 1, | |
11126 | "type" : "boolean", | |
11127 | "typetext" : "<boolean>" | |
11128 | } | |
11129 | }, | |
11130 | "type" : "object" | |
11131 | }, | |
732d76e1 DM |
11132 | "permissions" : { |
11133 | "check" : [ | |
11134 | "admin" | |
11135 | ] | |
11136 | }, | |
a55e94a6 DM |
11137 | "protected" : 1, |
11138 | "proxyto" : "master", | |
11139 | "returns" : { | |
11140 | "type" : "null" | |
11141 | } | |
11142 | } | |
11143 | }, | |
11144 | "leaf" : 1, | |
11145 | "path" : "/config/virusquar", | |
11146 | "text" : "virusquar" | |
9fda36b0 DM |
11147 | }, |
11148 | { | |
11149 | "info" : { | |
11150 | "POST" : { | |
6bd70b95 | 11151 | "allowtoken" : 1, |
ab2b846b | 11152 | "description" : "Test Regex ignoring case", |
9fda36b0 DM |
11153 | "method" : "POST", |
11154 | "name" : "regextest", | |
11155 | "parameters" : { | |
11156 | "additionalProperties" : 0, | |
11157 | "properties" : { | |
11158 | "regex" : { | |
11159 | "description" : "The Regex to test", | |
11160 | "maxLength" : 1024, | |
11161 | "type" : "string", | |
11162 | "typetext" : "<string>" | |
11163 | }, | |
11164 | "text" : { | |
11165 | "description" : "The String to test", | |
11166 | "maxLength" : 1024, | |
11167 | "type" : "string", | |
11168 | "typetext" : "<string>" | |
11169 | } | |
11170 | } | |
11171 | }, | |
11172 | "permissions" : { | |
11173 | "check" : [ | |
11174 | "admin", | |
11175 | "qmanager", | |
11176 | "audit" | |
11177 | ] | |
11178 | }, | |
11179 | "protected" : 0, | |
11180 | "returns" : { | |
11181 | "type" : "number" | |
11182 | } | |
11183 | } | |
11184 | }, | |
11185 | "leaf" : 1, | |
11186 | "path" : "/config/regextest", | |
11187 | "text" : "regextest" | |
a55e94a6 DM |
11188 | } |
11189 | ], | |
11190 | "info" : { | |
11191 | "GET" : { | |
6bd70b95 | 11192 | "allowtoken" : 1, |
a55e94a6 DM |
11193 | "description" : "Directory index.", |
11194 | "method" : "GET", | |
11195 | "name" : "index", | |
11196 | "parameters" : { | |
11197 | "additionalProperties" : 0 | |
11198 | }, | |
11199 | "returns" : { | |
11200 | "items" : { | |
11201 | "properties" : { | |
11202 | "section" : { | |
11203 | "type" : "string" | |
11204 | } | |
11205 | }, | |
11206 | "type" : "object" | |
11207 | }, | |
11208 | "links" : [ | |
11209 | { | |
11210 | "href" : "{section}", | |
11211 | "rel" : "child" | |
11212 | } | |
11213 | ], | |
11214 | "type" : "array" | |
11215 | } | |
11216 | } | |
11217 | }, | |
11218 | "leaf" : 0, | |
11219 | "path" : "/config", | |
11220 | "text" : "config" | |
11221 | }, | |
11222 | { | |
11223 | "children" : [ | |
11224 | { | |
11225 | "children" : [ | |
11226 | { | |
11227 | "children" : [ | |
11228 | { | |
11229 | "info" : { | |
11230 | "GET" : { | |
6bd70b95 | 11231 | "allowtoken" : 1, |
a55e94a6 DM |
11232 | "description" : "Print Postfix queue domain and age distribution.", |
11233 | "method" : "GET", | |
11234 | "name" : "qshape", | |
11235 | "parameters" : { | |
11236 | "additionalProperties" : 0, | |
11237 | "properties" : { | |
11238 | "node" : { | |
11239 | "description" : "The cluster node name.", | |
11240 | "format" : "pve-node", | |
11241 | "type" : "string", | |
11242 | "typetext" : "<string>" | |
11243 | }, | |
11244 | "queue" : { | |
11245 | "default" : "deferred", | |
11246 | "description" : "Postfix queue name.", | |
11247 | "enum" : [ | |
11248 | "deferred", | |
11249 | "active", | |
11250 | "incoming", | |
11251 | "hold" | |
11252 | ], | |
11253 | "optional" : 1, | |
11254 | "type" : "string" | |
11255 | } | |
11256 | } | |
11257 | }, | |
11258 | "permissions" : { | |
11259 | "check" : [ | |
732d76e1 DM |
11260 | "admin", |
11261 | "audit" | |
a55e94a6 DM |
11262 | ] |
11263 | }, | |
11264 | "protected" : 1, | |
11265 | "proxyto" : "node", | |
11266 | "returns" : { | |
11267 | "items" : { | |
11268 | "properties" : {}, | |
11269 | "type" : "object" | |
11270 | }, | |
11271 | "type" : "array" | |
11272 | } | |
11273 | } | |
11274 | }, | |
11275 | "leaf" : 1, | |
11276 | "path" : "/nodes/{node}/postfix/qshape", | |
11277 | "text" : "qshape" | |
11278 | }, | |
11279 | { | |
11280 | "children" : [ | |
11281 | { | |
11282 | "children" : [ | |
11283 | { | |
11284 | "info" : { | |
11285 | "DELETE" : { | |
6bd70b95 | 11286 | "allowtoken" : 1, |
a55e94a6 DM |
11287 | "description" : "Delete one message with the named queue ID.", |
11288 | "method" : "DELETE", | |
11289 | "name" : "delete_queued_mail", | |
11290 | "parameters" : { | |
11291 | "additionalProperties" : 0, | |
11292 | "properties" : { | |
11293 | "node" : { | |
11294 | "description" : "The cluster node name.", | |
11295 | "format" : "pve-node", | |
11296 | "type" : "string", | |
11297 | "typetext" : "<string>" | |
11298 | }, | |
11299 | "queue" : { | |
11300 | "description" : "Postfix queue name.", | |
11301 | "enum" : [ | |
11302 | "deferred", | |
11303 | "active", | |
11304 | "incoming", | |
11305 | "hold" | |
11306 | ], | |
11307 | "type" : "string" | |
11308 | }, | |
11309 | "queue_id" : { | |
11310 | "description" : "The Message queue ID.", | |
11311 | "maxLength" : 20, | |
11312 | "minLength" : 8, | |
11313 | "pattern" : "[a-zA-Z0-9]+", | |
11314 | "type" : "string" | |
11315 | } | |
11316 | } | |
11317 | }, | |
11318 | "permissions" : { | |
11319 | "check" : [ | |
11320 | "admin" | |
11321 | ] | |
11322 | }, | |
11323 | "protected" : 1, | |
11324 | "proxyto" : "node", | |
11325 | "returns" : { | |
11326 | "type" : "null" | |
11327 | } | |
11328 | }, | |
11329 | "GET" : { | |
6bd70b95 | 11330 | "allowtoken" : 1, |
a55e94a6 DM |
11331 | "description" : "Get the contents of a queued mail.", |
11332 | "method" : "GET", | |
11333 | "name" : "read_queued_mail", | |
11334 | "parameters" : { | |
11335 | "additionalProperties" : 0, | |
11336 | "properties" : { | |
11337 | "body" : { | |
11338 | "default" : 0, | |
11339 | "description" : "Include body content.", | |
11340 | "optional" : 1, | |
11341 | "type" : "boolean", | |
11342 | "typetext" : "<boolean>" | |
11343 | }, | |
db80f170 TL |
11344 | "decode-header" : { |
11345 | "default" : 0, | |
11346 | "description" : "Decodes the header fields.", | |
11347 | "optional" : 1, | |
11348 | "type" : "boolean", | |
11349 | "typetext" : "<boolean>" | |
11350 | }, | |
a55e94a6 DM |
11351 | "header" : { |
11352 | "default" : 1, | |
11353 | "description" : "Show message header content.", | |
11354 | "optional" : 1, | |
11355 | "type" : "boolean", | |
11356 | "typetext" : "<boolean>" | |
11357 | }, | |
11358 | "node" : { | |
11359 | "description" : "The cluster node name.", | |
11360 | "format" : "pve-node", | |
11361 | "type" : "string", | |
11362 | "typetext" : "<string>" | |
11363 | }, | |
11364 | "queue" : { | |
11365 | "description" : "Postfix queue name.", | |
11366 | "enum" : [ | |
11367 | "deferred", | |
11368 | "active", | |
11369 | "incoming", | |
11370 | "hold" | |
11371 | ], | |
11372 | "type" : "string" | |
11373 | }, | |
11374 | "queue_id" : { | |
11375 | "description" : "The Message queue ID.", | |
11376 | "maxLength" : 20, | |
11377 | "minLength" : 8, | |
11378 | "pattern" : "[a-zA-Z0-9]+", | |
11379 | "type" : "string" | |
11380 | } | |
11381 | } | |
11382 | }, | |
11383 | "permissions" : { | |
11384 | "check" : [ | |
11385 | "admin" | |
11386 | ] | |
11387 | }, | |
11388 | "protected" : 1, | |
11389 | "proxyto" : "node", | |
11390 | "returns" : { | |
11391 | "type" : "string" | |
11392 | } | |
11393 | }, | |
11394 | "POST" : { | |
6bd70b95 | 11395 | "allowtoken" : 1, |
a55e94a6 DM |
11396 | "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.", |
11397 | "method" : "POST", | |
11398 | "name" : "flush_queued_mail", | |
11399 | "parameters" : { | |
11400 | "additionalProperties" : 0, | |
11401 | "properties" : { | |
11402 | "node" : { | |
11403 | "description" : "The cluster node name.", | |
11404 | "format" : "pve-node", | |
11405 | "type" : "string", | |
11406 | "typetext" : "<string>" | |
11407 | }, | |
11408 | "queue" : { | |
11409 | "description" : "Postfix queue name.", | |
11410 | "enum" : [ | |
11411 | "deferred", | |
11412 | "active", | |
11413 | "incoming", | |
11414 | "hold" | |
11415 | ], | |
11416 | "type" : "string" | |
11417 | }, | |
11418 | "queue_id" : { | |
11419 | "description" : "The Message queue ID.", | |
11420 | "maxLength" : 20, | |
11421 | "minLength" : 8, | |
11422 | "pattern" : "[a-zA-Z0-9]+", | |
11423 | "type" : "string" | |
11424 | } | |
11425 | } | |
11426 | }, | |
11427 | "permissions" : { | |
11428 | "check" : [ | |
11429 | "admin" | |
11430 | ] | |
11431 | }, | |
11432 | "protected" : 1, | |
11433 | "proxyto" : "node", | |
11434 | "returns" : { | |
11435 | "type" : "null" | |
11436 | } | |
11437 | } | |
11438 | }, | |
11439 | "leaf" : 1, | |
11440 | "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}", | |
11441 | "text" : "{queue_id}" | |
11442 | } | |
11443 | ], | |
11444 | "info" : { | |
11445 | "DELETE" : { | |
6bd70b95 | 11446 | "allowtoken" : 1, |
a55e94a6 DM |
11447 | "description" : "Delete all mails in the queue.", |
11448 | "method" : "DELETE", | |
11449 | "name" : "delete_queue", | |
11450 | "parameters" : { | |
11451 | "additionalProperties" : 0, | |
11452 | "properties" : { | |
11453 | "node" : { | |
11454 | "description" : "The cluster node name.", | |
11455 | "format" : "pve-node", | |
11456 | "type" : "string", | |
11457 | "typetext" : "<string>" | |
11458 | }, | |
11459 | "queue" : { | |
11460 | "description" : "Postfix queue name.", | |
11461 | "enum" : [ | |
11462 | "deferred", | |
11463 | "active", | |
11464 | "incoming", | |
11465 | "hold" | |
11466 | ], | |
11467 | "type" : "string" | |
11468 | } | |
11469 | } | |
11470 | }, | |
11471 | "permissions" : { | |
11472 | "check" : [ | |
11473 | "admin" | |
11474 | ] | |
11475 | }, | |
11476 | "protected" : 1, | |
11477 | "proxyto" : "node", | |
11478 | "returns" : { | |
11479 | "type" : "null" | |
11480 | } | |
11481 | }, | |
11482 | "GET" : { | |
6bd70b95 | 11483 | "allowtoken" : 1, |
a55e94a6 DM |
11484 | "description" : "List the mail queue for a specific domain.", |
11485 | "method" : "GET", | |
11486 | "name" : "mailq", | |
11487 | "parameters" : { | |
11488 | "additionalProperties" : 0, | |
11489 | "properties" : { | |
11490 | "filter" : { | |
11491 | "description" : "Filter string.", | |
11492 | "maxLength" : 64, | |
11493 | "optional" : 1, | |
11494 | "type" : "string", | |
11495 | "typetext" : "<string>" | |
11496 | }, | |
11497 | "limit" : { | |
11498 | "minimum" : 0, | |
11499 | "optional" : 1, | |
11500 | "type" : "integer", | |
11501 | "typetext" : "<integer> (0 - N)" | |
11502 | }, | |
11503 | "node" : { | |
11504 | "description" : "The cluster node name.", | |
11505 | "format" : "pve-node", | |
11506 | "type" : "string", | |
11507 | "typetext" : "<string>" | |
11508 | }, | |
11509 | "queue" : { | |
11510 | "description" : "Postfix queue name.", | |
11511 | "enum" : [ | |
11512 | "deferred", | |
11513 | "active", | |
11514 | "incoming", | |
11515 | "hold" | |
11516 | ], | |
11517 | "type" : "string" | |
11518 | }, | |
ab2b846b TL |
11519 | "sortdir" : { |
11520 | "description" : "Sort direction.", | |
11521 | "enum" : [ | |
11522 | "ASC", | |
11523 | "DESC" | |
11524 | ], | |
11525 | "optional" : 1, | |
11526 | "requires" : "sortfield", | |
11527 | "type" : "string" | |
11528 | }, | |
11529 | "sortfield" : { | |
11530 | "description" : "Sort field.", | |
11531 | "enum" : [ | |
11532 | "arrival_time", | |
11533 | "message_size", | |
11534 | "sender", | |
11535 | "receiver", | |
11536 | "reason" | |
11537 | ], | |
11538 | "optional" : 1, | |
11539 | "type" : "string" | |
11540 | }, | |
a55e94a6 DM |
11541 | "start" : { |
11542 | "minimum" : 0, | |
11543 | "optional" : 1, | |
11544 | "type" : "integer", | |
11545 | "typetext" : "<integer> (0 - N)" | |
11546 | } | |
11547 | } | |
11548 | }, | |
11549 | "permissions" : { | |
11550 | "check" : [ | |
732d76e1 DM |
11551 | "admin", |
11552 | "audit" | |
a55e94a6 DM |
11553 | ] |
11554 | }, | |
11555 | "protected" : 1, | |
11556 | "proxyto" : "node", | |
11557 | "returns" : { | |
11558 | "items" : { | |
11559 | "properties" : {}, | |
11560 | "type" : "object" | |
11561 | }, | |
11562 | "links" : [ | |
11563 | { | |
11564 | "href" : "{queue_id}", | |
11565 | "rel" : "child" | |
11566 | } | |
11567 | ], | |
11568 | "type" : "array" | |
11569 | } | |
11570 | } | |
11571 | }, | |
11572 | "leaf" : 0, | |
11573 | "path" : "/nodes/{node}/postfix/queue/{queue}", | |
11574 | "text" : "{queue}" | |
11575 | } | |
11576 | ], | |
11577 | "info" : { | |
9fda36b0 | 11578 | "DELETE" : { |
6bd70b95 | 11579 | "allowtoken" : 1, |
9fda36b0 DM |
11580 | "description" : "Delete all mails in all posfix queues.", |
11581 | "method" : "DELETE", | |
11582 | "name" : "delete_all_queues", | |
11583 | "parameters" : { | |
11584 | "additionalProperties" : 0, | |
11585 | "properties" : { | |
11586 | "node" : { | |
11587 | "description" : "The cluster node name.", | |
11588 | "format" : "pve-node", | |
11589 | "type" : "string", | |
11590 | "typetext" : "<string>" | |
11591 | } | |
11592 | } | |
11593 | }, | |
11594 | "permissions" : { | |
11595 | "check" : [ | |
11596 | "admin" | |
11597 | ] | |
11598 | }, | |
11599 | "protected" : 1, | |
11600 | "proxyto" : "node", | |
11601 | "returns" : { | |
11602 | "type" : "null" | |
11603 | } | |
11604 | }, | |
a55e94a6 | 11605 | "GET" : { |
6bd70b95 | 11606 | "allowtoken" : 1, |
a55e94a6 DM |
11607 | "description" : "Directory index.", |
11608 | "method" : "GET", | |
11609 | "name" : "queue_index", | |
11610 | "parameters" : { | |
11611 | "additionalProperties" : 0, | |
11612 | "properties" : { | |
11613 | "node" : { | |
11614 | "description" : "The cluster node name.", | |
11615 | "format" : "pve-node", | |
11616 | "type" : "string", | |
11617 | "typetext" : "<string>" | |
11618 | } | |
11619 | } | |
11620 | }, | |
11621 | "permissions" : { | |
11622 | "user" : "all" | |
11623 | }, | |
11624 | "returns" : { | |
11625 | "items" : { | |
11626 | "properties" : {}, | |
11627 | "type" : "object" | |
11628 | }, | |
11629 | "links" : [ | |
11630 | { | |
11631 | "href" : "{name}", | |
11632 | "rel" : "child" | |
11633 | } | |
11634 | ], | |
11635 | "type" : "array" | |
11636 | } | |
11637 | } | |
11638 | }, | |
11639 | "leaf" : 0, | |
11640 | "path" : "/nodes/{node}/postfix/queue", | |
11641 | "text" : "queue" | |
f245a28c | 11642 | }, |
a55e94a6 DM |
11643 | { |
11644 | "info" : { | |
11645 | "POST" : { | |
6bd70b95 | 11646 | "allowtoken" : 1, |
a55e94a6 DM |
11647 | "description" : "Flush the queue: attempt to deliver all queued mail.", |
11648 | "method" : "POST", | |
11649 | "name" : "flush_queues", | |
11650 | "parameters" : { | |
11651 | "additionalProperties" : 0, | |
11652 | "properties" : { | |
11653 | "node" : { | |
11654 | "description" : "The cluster node name.", | |
11655 | "format" : "pve-node", | |
11656 | "type" : "string", | |
11657 | "typetext" : "<string>" | |
11658 | } | |
11659 | } | |
11660 | }, | |
11661 | "permissions" : { | |
11662 | "check" : [ | |
11663 | "admin" | |
11664 | ] | |
11665 | }, | |
11666 | "protected" : 1, | |
11667 | "proxyto" : "node", | |
11668 | "returns" : { | |
11669 | "type" : "null" | |
11670 | } | |
11671 | } | |
f245a28c | 11672 | }, |
a55e94a6 DM |
11673 | "leaf" : 1, |
11674 | "path" : "/nodes/{node}/postfix/flush_queues", | |
11675 | "text" : "flush_queues" | |
11676 | }, | |
11677 | { | |
11678 | "info" : { | |
11679 | "POST" : { | |
6bd70b95 | 11680 | "allowtoken" : 1, |
a55e94a6 DM |
11681 | "description" : "Discards the address verification cache.", |
11682 | "method" : "POST", | |
11683 | "name" : "discard_verify_cache", | |
11684 | "parameters" : { | |
11685 | "additionalProperties" : 0, | |
11686 | "properties" : { | |
11687 | "node" : { | |
11688 | "description" : "The cluster node name.", | |
11689 | "format" : "pve-node", | |
11690 | "type" : "string", | |
11691 | "typetext" : "<string>" | |
11692 | } | |
11693 | } | |
11694 | }, | |
11695 | "permissions" : { | |
11696 | "check" : [ | |
11697 | "admin" | |
11698 | ] | |
11699 | }, | |
11700 | "protected" : 1, | |
11701 | "proxyto" : "node", | |
11702 | "returns" : { | |
11703 | "type" : "null" | |
11704 | } | |
11705 | } | |
f245a28c | 11706 | }, |
a55e94a6 DM |
11707 | "leaf" : 1, |
11708 | "path" : "/nodes/{node}/postfix/discard_verify_cache", | |
11709 | "text" : "discard_verify_cache" | |
11710 | } | |
11711 | ], | |
11712 | "info" : { | |
11713 | "GET" : { | |
6bd70b95 | 11714 | "allowtoken" : 1, |
a55e94a6 DM |
11715 | "description" : "Directory index.", |
11716 | "method" : "GET", | |
11717 | "name" : "index", | |
11718 | "parameters" : { | |
11719 | "additionalProperties" : 0, | |
11720 | "properties" : { | |
11721 | "node" : { | |
11722 | "description" : "The cluster node name.", | |
11723 | "format" : "pve-node", | |
11724 | "type" : "string", | |
11725 | "typetext" : "<string>" | |
11726 | } | |
11727 | } | |
f245a28c | 11728 | }, |
a55e94a6 DM |
11729 | "permissions" : { |
11730 | "user" : "all" | |
f245a28c | 11731 | }, |
a55e94a6 DM |
11732 | "returns" : { |
11733 | "items" : { | |
11734 | "properties" : {}, | |
11735 | "type" : "object" | |
11736 | }, | |
11737 | "links" : [ | |
11738 | { | |
11739 | "href" : "{name}", | |
11740 | "rel" : "child" | |
11741 | } | |
11742 | ], | |
11743 | "type" : "array" | |
f245a28c | 11744 | } |
410dc2c9 DM |
11745 | } |
11746 | }, | |
a55e94a6 DM |
11747 | "leaf" : 0, |
11748 | "path" : "/nodes/{node}/postfix", | |
11749 | "text" : "postfix" | |
410dc2c9 | 11750 | }, |
f245a28c DM |
11751 | { |
11752 | "children" : [ | |
11753 | { | |
11754 | "info" : { | |
11755 | "GET" : { | |
6bd70b95 | 11756 | "allowtoken" : 1, |
f245a28c DM |
11757 | "description" : "ClamAV virus database status.", |
11758 | "method" : "GET", | |
11759 | "name" : "database_status", | |
11760 | "parameters" : { | |
11761 | "additionalProperties" : 0, | |
11762 | "properties" : { | |
11763 | "node" : { | |
11764 | "description" : "The cluster node name.", | |
11765 | "format" : "pve-node", | |
11766 | "type" : "string", | |
11767 | "typetext" : "<string>" | |
11768 | } | |
11769 | } | |
11770 | }, | |
bb6e6e0d DM |
11771 | "permissions" : { |
11772 | "check" : [ | |
11773 | "admin", | |
11774 | "audit" | |
11775 | ] | |
11776 | }, | |
11777 | "proxyto" : "node", | |
f245a28c DM |
11778 | "returns" : { |
11779 | "items" : { | |
11780 | "properties" : { | |
11781 | "build_time" : { | |
11782 | "type" : "string" | |
11783 | }, | |
11784 | "nsigs" : { | |
11785 | "type" : "integer" | |
11786 | }, | |
11787 | "type" : { | |
11788 | "type" : "string" | |
11789 | }, | |
11790 | "version" : { | |
11791 | "optional" : 1, | |
11792 | "type" : "string" | |
11793 | } | |
11794 | }, | |
11795 | "type" : "object" | |
11796 | }, | |
11797 | "type" : "array" | |
11798 | } | |
11799 | }, | |
11800 | "POST" : { | |
6bd70b95 | 11801 | "allowtoken" : 1, |
f245a28c DM |
11802 | "description" : "Update ClamAV virus databases.", |
11803 | "method" : "POST", | |
11804 | "name" : "update_database", | |
11805 | "parameters" : { | |
11806 | "additionalProperties" : 0, | |
11807 | "properties" : { | |
11808 | "node" : { | |
11809 | "description" : "The cluster node name.", | |
11810 | "format" : "pve-node", | |
11811 | "type" : "string", | |
11812 | "typetext" : "<string>" | |
11813 | } | |
11814 | } | |
11815 | }, | |
bb6e6e0d DM |
11816 | "permissions" : { |
11817 | "check" : [ | |
11818 | "admin" | |
11819 | ] | |
11820 | }, | |
f245a28c | 11821 | "protected" : 1, |
bb6e6e0d | 11822 | "proxyto" : "node", |
f245a28c DM |
11823 | "returns" : { |
11824 | "type" : "string" | |
11825 | } | |
11826 | } | |
11827 | }, | |
11828 | "leaf" : 1, | |
11829 | "path" : "/nodes/{node}/clamav/database", | |
11830 | "text" : "database" | |
11831 | } | |
11832 | ], | |
11833 | "info" : { | |
11834 | "GET" : { | |
6bd70b95 | 11835 | "allowtoken" : 1, |
f245a28c DM |
11836 | "description" : "Directory index.", |
11837 | "method" : "GET", | |
11838 | "name" : "index", | |
11839 | "parameters" : { | |
11840 | "additionalProperties" : 0, | |
11841 | "properties" : { | |
11842 | "node" : { | |
11843 | "description" : "The cluster node name.", | |
11844 | "format" : "pve-node", | |
11845 | "type" : "string", | |
11846 | "typetext" : "<string>" | |
11847 | } | |
11848 | } | |
11849 | }, | |
bb6e6e0d DM |
11850 | "permissions" : { |
11851 | "check" : [ | |
11852 | "admin", | |
11853 | "audit" | |
11854 | ] | |
11855 | }, | |
f245a28c DM |
11856 | "returns" : { |
11857 | "items" : { | |
11858 | "properties" : {}, | |
11859 | "type" : "object" | |
11860 | }, | |
11861 | "links" : [ | |
11862 | { | |
11863 | "href" : "{subdir}", | |
11864 | "rel" : "child" | |
11865 | } | |
11866 | ], | |
11867 | "type" : "array" | |
11868 | } | |
11869 | } | |
11870 | }, | |
11871 | "leaf" : 0, | |
11872 | "path" : "/nodes/{node}/clamav", | |
11873 | "text" : "clamav" | |
11874 | }, | |
bb6e6e0d DM |
11875 | { |
11876 | "children" : [ | |
11877 | { | |
11878 | "info" : { | |
11879 | "GET" : { | |
6bd70b95 | 11880 | "allowtoken" : 1, |
bb6e6e0d DM |
11881 | "description" : "SpamAssassin rules status.", |
11882 | "method" : "GET", | |
11883 | "name" : "rules_status", | |
11884 | "parameters" : { | |
11885 | "additionalProperties" : 0, | |
11886 | "properties" : { | |
11887 | "node" : { | |
11888 | "description" : "The cluster node name.", | |
11889 | "format" : "pve-node", | |
11890 | "type" : "string", | |
11891 | "typetext" : "<string>" | |
11892 | } | |
11893 | } | |
11894 | }, | |
11895 | "permissions" : { | |
11896 | "check" : [ | |
11897 | "admin", | |
11898 | "audit" | |
11899 | ] | |
11900 | }, | |
11901 | "proxyto" : "node", | |
11902 | "returns" : { | |
11903 | "items" : { | |
11904 | "properties" : { | |
11905 | "channel" : { | |
11906 | "type" : "string" | |
11907 | }, | |
11908 | "last_updated" : { | |
11909 | "optional" : 1, | |
11910 | "type" : "integer" | |
11911 | }, | |
11912 | "update_avail" : { | |
11913 | "type" : "boolean" | |
11914 | }, | |
11915 | "update_version" : { | |
11916 | "optional" : 1, | |
11917 | "type" : "string" | |
11918 | }, | |
11919 | "version" : { | |
11920 | "optional" : 1, | |
11921 | "type" : "string" | |
11922 | } | |
11923 | }, | |
11924 | "type" : "object" | |
11925 | }, | |
11926 | "type" : "array" | |
11927 | } | |
11928 | }, | |
11929 | "POST" : { | |
6bd70b95 | 11930 | "allowtoken" : 1, |
bb6e6e0d DM |
11931 | "description" : "Update SpamAssassin rules.", |
11932 | "method" : "POST", | |
11933 | "name" : "update_rules", | |
11934 | "parameters" : { | |
11935 | "additionalProperties" : 0, | |
11936 | "properties" : { | |
11937 | "node" : { | |
11938 | "description" : "The cluster node name.", | |
11939 | "format" : "pve-node", | |
11940 | "type" : "string", | |
11941 | "typetext" : "<string>" | |
11942 | } | |
11943 | } | |
11944 | }, | |
11945 | "permissions" : { | |
11946 | "check" : [ | |
11947 | "admin" | |
11948 | ] | |
11949 | }, | |
11950 | "protected" : 1, | |
11951 | "proxyto" : "node", | |
11952 | "returns" : { | |
11953 | "type" : "string" | |
11954 | } | |
11955 | } | |
11956 | }, | |
11957 | "leaf" : 1, | |
11958 | "path" : "/nodes/{node}/spamassassin/rules", | |
11959 | "text" : "rules" | |
11960 | } | |
11961 | ], | |
11962 | "info" : { | |
11963 | "GET" : { | |
6bd70b95 | 11964 | "allowtoken" : 1, |
bb6e6e0d DM |
11965 | "description" : "Directory index.", |
11966 | "method" : "GET", | |
11967 | "name" : "index", | |
11968 | "parameters" : { | |
11969 | "additionalProperties" : 0, | |
11970 | "properties" : { | |
11971 | "node" : { | |
11972 | "description" : "The cluster node name.", | |
11973 | "format" : "pve-node", | |
11974 | "type" : "string", | |
11975 | "typetext" : "<string>" | |
11976 | } | |
11977 | } | |
11978 | }, | |
11979 | "permissions" : { | |
11980 | "check" : [ | |
11981 | "admin", | |
11982 | "audit" | |
11983 | ] | |
11984 | }, | |
11985 | "returns" : { | |
11986 | "items" : { | |
11987 | "properties" : {}, | |
11988 | "type" : "object" | |
11989 | }, | |
11990 | "links" : [ | |
11991 | { | |
11992 | "href" : "{subdir}", | |
11993 | "rel" : "child" | |
11994 | } | |
11995 | ], | |
11996 | "type" : "array" | |
11997 | } | |
11998 | } | |
11999 | }, | |
12000 | "leaf" : 0, | |
12001 | "path" : "/nodes/{node}/spamassassin", | |
12002 | "text" : "spamassassin" | |
12003 | }, | |
410dc2c9 DM |
12004 | { |
12005 | "children" : [ | |
12006 | { | |
12007 | "info" : { | |
12008 | "DELETE" : { | |
6bd70b95 | 12009 | "allowtoken" : 1, |
410dc2c9 DM |
12010 | "description" : "Delete network device configuration", |
12011 | "method" : "DELETE", | |
12012 | "name" : "delete_network", | |
12013 | "parameters" : { | |
12014 | "additionalProperties" : 0, | |
12015 | "properties" : { | |
12016 | "iface" : { | |
12017 | "description" : "Network interface name.", | |
12018 | "format" : "pve-iface", | |
12019 | "maxLength" : 20, | |
12020 | "minLength" : 2, | |
12021 | "type" : "string", | |
12022 | "typetext" : "<string>" | |
12023 | }, | |
12024 | "node" : { | |
12025 | "description" : "The cluster node name.", | |
12026 | "format" : "pve-node", | |
12027 | "type" : "string", | |
12028 | "typetext" : "<string>" | |
12029 | } | |
12030 | } | |
12031 | }, | |
12032 | "protected" : 1, | |
12033 | "proxyto" : "node", | |
12034 | "returns" : { | |
12035 | "type" : "null" | |
12036 | } | |
12037 | }, | |
12038 | "GET" : { | |
6bd70b95 | 12039 | "allowtoken" : 1, |
410dc2c9 DM |
12040 | "description" : "Read network device configuration", |
12041 | "method" : "GET", | |
12042 | "name" : "network_config", | |
12043 | "parameters" : { | |
12044 | "additionalProperties" : 0, | |
12045 | "properties" : { | |
12046 | "iface" : { | |
12047 | "description" : "Network interface name.", | |
12048 | "format" : "pve-iface", | |
12049 | "maxLength" : 20, | |
12050 | "minLength" : 2, | |
12051 | "type" : "string", | |
12052 | "typetext" : "<string>" | |
12053 | }, | |
12054 | "node" : { | |
12055 | "description" : "The cluster node name.", | |
12056 | "format" : "pve-node", | |
12057 | "type" : "string", | |
12058 | "typetext" : "<string>" | |
12059 | } | |
12060 | } | |
12061 | }, | |
732d76e1 DM |
12062 | "permissions" : { |
12063 | "check" : [ | |
12064 | "admin", | |
12065 | "audit" | |
12066 | ] | |
12067 | }, | |
410dc2c9 DM |
12068 | "proxyto" : "node", |
12069 | "returns" : { | |
12070 | "properties" : { | |
12071 | "method" : { | |
12072 | "type" : "string" | |
12073 | }, | |
12074 | "type" : { | |
12075 | "type" : "string" | |
12076 | } | |
12077 | }, | |
12078 | "type" : "object" | |
12079 | } | |
12080 | }, | |
12081 | "PUT" : { | |
6bd70b95 | 12082 | "allowtoken" : 1, |
410dc2c9 DM |
12083 | "description" : "Update network device configuration", |
12084 | "method" : "PUT", | |
12085 | "name" : "update_network", | |
12086 | "parameters" : { | |
12087 | "additionalProperties" : 0, | |
12088 | "properties" : { | |
12089 | "address" : { | |
12090 | "description" : "IP address.", | |
12091 | "format" : "ipv4", | |
12092 | "optional" : 1, | |
12093 | "requires" : "netmask", | |
12094 | "type" : "string", | |
12095 | "typetext" : "<string>" | |
12096 | }, | |
12097 | "address6" : { | |
12098 | "description" : "IP address.", | |
12099 | "format" : "ipv6", | |
12100 | "optional" : 1, | |
12101 | "requires" : "netmask6", | |
12102 | "type" : "string", | |
12103 | "typetext" : "<string>" | |
12104 | }, | |
12105 | "autostart" : { | |
12106 | "description" : "Automatically start interface on boot.", | |
12107 | "optional" : 1, | |
12108 | "type" : "boolean", | |
12109 | "typetext" : "<boolean>" | |
12110 | }, | |
6bd70b95 TL |
12111 | "bond-primary" : { |
12112 | "description" : "Specify the primary interface for active-backup bond.", | |
12113 | "format" : "pve-iface", | |
12114 | "optional" : 1, | |
12115 | "type" : "string", | |
12116 | "typetext" : "<string>" | |
12117 | }, | |
410dc2c9 DM |
12118 | "bond_mode" : { |
12119 | "description" : "Bonding mode.", | |
12120 | "enum" : [ | |
12121 | "balance-rr", | |
12122 | "active-backup", | |
12123 | "balance-xor", | |
12124 | "broadcast", | |
12125 | "802.3ad", | |
12126 | "balance-tlb", | |
12127 | "balance-alb", | |
12128 | "balance-slb", | |
12129 | "lacp-balance-slb", | |
12130 | "lacp-balance-tcp" | |
12131 | ], | |
12132 | "optional" : 1, | |
12133 | "type" : "string" | |
12134 | }, | |
12135 | "bond_xmit_hash_policy" : { | |
12136 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
12137 | "enum" : [ | |
12138 | "layer2", | |
12139 | "layer2+3", | |
12140 | "layer3+4" | |
12141 | ], | |
12142 | "optional" : 1, | |
12143 | "type" : "string" | |
12144 | }, | |
12145 | "bridge_ports" : { | |
d8212759 | 12146 | "description" : "Specify the interfaces you want to add to your bridge.", |
410dc2c9 DM |
12147 | "format" : "pve-iface-list", |
12148 | "optional" : 1, | |
12149 | "type" : "string", | |
12150 | "typetext" : "<string>" | |
12151 | }, | |
12152 | "bridge_vlan_aware" : { | |
12153 | "description" : "Enable bridge vlan support.", | |
12154 | "optional" : 1, | |
12155 | "type" : "boolean", | |
12156 | "typetext" : "<boolean>" | |
12157 | }, | |
241ac83c TL |
12158 | "cidr" : { |
12159 | "description" : "IPv4 CIDR.", | |
12160 | "format" : "CIDRv4", | |
12161 | "optional" : 1, | |
12162 | "type" : "string", | |
12163 | "typetext" : "<string>" | |
12164 | }, | |
12165 | "cidr6" : { | |
12166 | "description" : "IPv6 CIDR.", | |
12167 | "format" : "CIDRv6", | |
12168 | "optional" : 1, | |
12169 | "type" : "string", | |
12170 | "typetext" : "<string>" | |
12171 | }, | |
410dc2c9 DM |
12172 | "comments" : { |
12173 | "description" : "Comments", | |
12174 | "optional" : 1, | |
12175 | "type" : "string", | |
12176 | "typetext" : "<string>" | |
12177 | }, | |
12178 | "comments6" : { | |
12179 | "description" : "Comments", | |
12180 | "optional" : 1, | |
12181 | "type" : "string", | |
12182 | "typetext" : "<string>" | |
12183 | }, | |
12184 | "delete" : { | |
12185 | "description" : "A list of settings you want to delete.", | |
12186 | "format" : "pve-configid-list", | |
12187 | "optional" : 1, | |
12188 | "type" : "string", | |
12189 | "typetext" : "<string>" | |
12190 | }, | |
12191 | "gateway" : { | |
12192 | "description" : "Default gateway address.", | |
12193 | "format" : "ipv4", | |
12194 | "optional" : 1, | |
12195 | "type" : "string", | |
12196 | "typetext" : "<string>" | |
12197 | }, | |
12198 | "gateway6" : { | |
12199 | "description" : "Default ipv6 gateway address.", | |
12200 | "format" : "ipv6", | |
12201 | "optional" : 1, | |
12202 | "type" : "string", | |
12203 | "typetext" : "<string>" | |
12204 | }, | |
12205 | "iface" : { | |
12206 | "description" : "Network interface name.", | |
12207 | "format" : "pve-iface", | |
12208 | "maxLength" : 20, | |
12209 | "minLength" : 2, | |
12210 | "type" : "string", | |
12211 | "typetext" : "<string>" | |
12212 | }, | |
6bd70b95 TL |
12213 | "mtu" : { |
12214 | "description" : "MTU.", | |
12215 | "maximum" : 65520, | |
12216 | "minimum" : 1280, | |
12217 | "optional" : 1, | |
12218 | "type" : "integer", | |
12219 | "typetext" : "<integer> (1280 - 65520)" | |
12220 | }, | |
410dc2c9 DM |
12221 | "netmask" : { |
12222 | "description" : "Network mask.", | |
12223 | "format" : "ipv4mask", | |
12224 | "optional" : 1, | |
12225 | "requires" : "address", | |
12226 | "type" : "string", | |
12227 | "typetext" : "<string>" | |
12228 | }, | |
12229 | "netmask6" : { | |
12230 | "description" : "Network mask.", | |
12231 | "maximum" : 128, | |
12232 | "minimum" : 0, | |
12233 | "optional" : 1, | |
12234 | "requires" : "address6", | |
12235 | "type" : "integer", | |
12236 | "typetext" : "<integer> (0 - 128)" | |
12237 | }, | |
12238 | "node" : { | |
12239 | "description" : "The cluster node name.", | |
12240 | "format" : "pve-node", | |
12241 | "type" : "string", | |
12242 | "typetext" : "<string>" | |
12243 | }, | |
12244 | "ovs_bonds" : { | |
12245 | "description" : "Specify the interfaces used by the bonding device.", | |
12246 | "format" : "pve-iface-list", | |
12247 | "optional" : 1, | |
12248 | "type" : "string", | |
12249 | "typetext" : "<string>" | |
12250 | }, | |
12251 | "ovs_bridge" : { | |
12252 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
12253 | "format" : "pve-iface", | |
12254 | "optional" : 1, | |
12255 | "type" : "string", | |
12256 | "typetext" : "<string>" | |
12257 | }, | |
12258 | "ovs_options" : { | |
12259 | "description" : "OVS interface options.", | |
12260 | "maxLength" : 1024, | |
12261 | "optional" : 1, | |
12262 | "type" : "string", | |
12263 | "typetext" : "<string>" | |
12264 | }, | |
12265 | "ovs_ports" : { | |
d8212759 | 12266 | "description" : "Specify the interfaces you want to add to your bridge.", |
410dc2c9 DM |
12267 | "format" : "pve-iface-list", |
12268 | "optional" : 1, | |
12269 | "type" : "string", | |
12270 | "typetext" : "<string>" | |
12271 | }, | |
12272 | "ovs_tag" : { | |
12273 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
12274 | "maximum" : 4094, | |
12275 | "minimum" : 1, | |
12276 | "optional" : 1, | |
12277 | "type" : "integer", | |
12278 | "typetext" : "<integer> (1 - 4094)" | |
12279 | }, | |
12280 | "slaves" : { | |
12281 | "description" : "Specify the interfaces used by the bonding device.", | |
12282 | "format" : "pve-iface-list", | |
12283 | "optional" : 1, | |
12284 | "type" : "string", | |
12285 | "typetext" : "<string>" | |
12286 | }, | |
12287 | "type" : { | |
12288 | "description" : "Network interface type", | |
12289 | "enum" : [ | |
12290 | "bridge", | |
12291 | "bond", | |
12292 | "eth", | |
12293 | "alias", | |
12294 | "vlan", | |
12295 | "OVSBridge", | |
12296 | "OVSBond", | |
12297 | "OVSPort", | |
12298 | "OVSIntPort", | |
12299 | "unknown" | |
12300 | ], | |
12301 | "type" : "string" | |
6bd70b95 TL |
12302 | }, |
12303 | "vlan-id" : { | |
12304 | "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).", | |
12305 | "maximum" : 4094, | |
12306 | "minimum" : 1, | |
12307 | "optional" : 1, | |
12308 | "type" : "integer", | |
12309 | "typetext" : "<integer> (1 - 4094)" | |
12310 | }, | |
12311 | "vlan-raw-device" : { | |
12312 | "description" : "Specify the raw interface for the vlan interface.", | |
12313 | "format" : "pve-iface", | |
12314 | "optional" : 1, | |
12315 | "type" : "string", | |
12316 | "typetext" : "<string>" | |
410dc2c9 DM |
12317 | } |
12318 | } | |
12319 | }, | |
12320 | "protected" : 1, | |
12321 | "proxyto" : "node", | |
12322 | "returns" : { | |
12323 | "type" : "null" | |
12324 | } | |
12325 | } | |
12326 | }, | |
12327 | "leaf" : 1, | |
12328 | "path" : "/nodes/{node}/network/{iface}", | |
12329 | "text" : "{iface}" | |
12330 | } | |
12331 | ], | |
12332 | "info" : { | |
12333 | "DELETE" : { | |
6bd70b95 | 12334 | "allowtoken" : 1, |
410dc2c9 DM |
12335 | "description" : "Revert network configuration changes.", |
12336 | "method" : "DELETE", | |
12337 | "name" : "revert_network_changes", | |
12338 | "parameters" : { | |
12339 | "additionalProperties" : 0, | |
12340 | "properties" : { | |
12341 | "node" : { | |
12342 | "description" : "The cluster node name.", | |
12343 | "format" : "pve-node", | |
12344 | "type" : "string", | |
12345 | "typetext" : "<string>" | |
12346 | } | |
12347 | } | |
12348 | }, | |
12349 | "protected" : 1, | |
12350 | "proxyto" : "node", | |
12351 | "returns" : { | |
12352 | "type" : "null" | |
12353 | } | |
12354 | }, | |
12355 | "GET" : { | |
6bd70b95 | 12356 | "allowtoken" : 1, |
410dc2c9 DM |
12357 | "description" : "List available networks", |
12358 | "method" : "GET", | |
12359 | "name" : "index", | |
12360 | "parameters" : { | |
12361 | "additionalProperties" : 0, | |
12362 | "properties" : { | |
12363 | "node" : { | |
12364 | "description" : "The cluster node name.", | |
12365 | "format" : "pve-node", | |
12366 | "type" : "string", | |
12367 | "typetext" : "<string>" | |
12368 | }, | |
12369 | "type" : { | |
12370 | "description" : "Only list specific interface types.", | |
12371 | "enum" : [ | |
12372 | "bridge", | |
12373 | "bond", | |
12374 | "eth", | |
12375 | "alias", | |
12376 | "vlan", | |
12377 | "OVSBridge", | |
12378 | "OVSBond", | |
12379 | "OVSPort", | |
12380 | "OVSIntPort", | |
12381 | "any_bridge" | |
12382 | ], | |
12383 | "optional" : 1, | |
12384 | "type" : "string" | |
12385 | } | |
12386 | } | |
12387 | }, | |
732d76e1 DM |
12388 | "permissions" : { |
12389 | "check" : [ | |
12390 | "admin", | |
12391 | "audit" | |
12392 | ] | |
12393 | }, | |
410dc2c9 DM |
12394 | "proxyto" : "node", |
12395 | "returns" : { | |
12396 | "items" : { | |
12397 | "properties" : {}, | |
12398 | "type" : "object" | |
12399 | }, | |
12400 | "links" : [ | |
12401 | { | |
12402 | "href" : "{iface}", | |
12403 | "rel" : "child" | |
12404 | } | |
12405 | ], | |
12406 | "type" : "array" | |
12407 | } | |
12408 | }, | |
12409 | "POST" : { | |
6bd70b95 | 12410 | "allowtoken" : 1, |
410dc2c9 DM |
12411 | "description" : "Create network device configuration", |
12412 | "method" : "POST", | |
12413 | "name" : "create_network", | |
12414 | "parameters" : { | |
12415 | "additionalProperties" : 0, | |
12416 | "properties" : { | |
12417 | "address" : { | |
12418 | "description" : "IP address.", | |
12419 | "format" : "ipv4", | |
12420 | "optional" : 1, | |
12421 | "requires" : "netmask", | |
12422 | "type" : "string", | |
12423 | "typetext" : "<string>" | |
12424 | }, | |
12425 | "address6" : { | |
12426 | "description" : "IP address.", | |
12427 | "format" : "ipv6", | |
12428 | "optional" : 1, | |
12429 | "requires" : "netmask6", | |
12430 | "type" : "string", | |
12431 | "typetext" : "<string>" | |
12432 | }, | |
12433 | "autostart" : { | |
12434 | "description" : "Automatically start interface on boot.", | |
12435 | "optional" : 1, | |
12436 | "type" : "boolean", | |
12437 | "typetext" : "<boolean>" | |
12438 | }, | |
6bd70b95 TL |
12439 | "bond-primary" : { |
12440 | "description" : "Specify the primary interface for active-backup bond.", | |
12441 | "format" : "pve-iface", | |
12442 | "optional" : 1, | |
12443 | "type" : "string", | |
12444 | "typetext" : "<string>" | |
12445 | }, | |
410dc2c9 DM |
12446 | "bond_mode" : { |
12447 | "description" : "Bonding mode.", | |
12448 | "enum" : [ | |
12449 | "balance-rr", | |
12450 | "active-backup", | |
12451 | "balance-xor", | |
12452 | "broadcast", | |
12453 | "802.3ad", | |
12454 | "balance-tlb", | |
12455 | "balance-alb", | |
12456 | "balance-slb", | |
12457 | "lacp-balance-slb", | |
12458 | "lacp-balance-tcp" | |
12459 | ], | |
12460 | "optional" : 1, | |
12461 | "type" : "string" | |
12462 | }, | |
12463 | "bond_xmit_hash_policy" : { | |
12464 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
12465 | "enum" : [ | |
12466 | "layer2", | |
12467 | "layer2+3", | |
12468 | "layer3+4" | |
12469 | ], | |
12470 | "optional" : 1, | |
12471 | "type" : "string" | |
12472 | }, | |
12473 | "bridge_ports" : { | |
d8212759 | 12474 | "description" : "Specify the interfaces you want to add to your bridge.", |
410dc2c9 DM |
12475 | "format" : "pve-iface-list", |
12476 | "optional" : 1, | |
12477 | "type" : "string", | |
12478 | "typetext" : "<string>" | |
12479 | }, | |
12480 | "bridge_vlan_aware" : { | |
12481 | "description" : "Enable bridge vlan support.", | |
12482 | "optional" : 1, | |
12483 | "type" : "boolean", | |
12484 | "typetext" : "<boolean>" | |
12485 | }, | |
241ac83c TL |
12486 | "cidr" : { |
12487 | "description" : "IPv4 CIDR.", | |
12488 | "format" : "CIDRv4", | |
12489 | "optional" : 1, | |
12490 | "type" : "string", | |
12491 | "typetext" : "<string>" | |
12492 | }, | |
12493 | "cidr6" : { | |
12494 | "description" : "IPv6 CIDR.", | |
12495 | "format" : "CIDRv6", | |
12496 | "optional" : 1, | |
12497 | "type" : "string", | |
12498 | "typetext" : "<string>" | |
12499 | }, | |
410dc2c9 DM |
12500 | "comments" : { |
12501 | "description" : "Comments", | |
12502 | "optional" : 1, | |
12503 | "type" : "string", | |
12504 | "typetext" : "<string>" | |
12505 | }, | |
12506 | "comments6" : { | |
12507 | "description" : "Comments", | |
12508 | "optional" : 1, | |
12509 | "type" : "string", | |
12510 | "typetext" : "<string>" | |
12511 | }, | |
12512 | "gateway" : { | |
12513 | "description" : "Default gateway address.", | |
12514 | "format" : "ipv4", | |
12515 | "optional" : 1, | |
12516 | "type" : "string", | |
12517 | "typetext" : "<string>" | |
12518 | }, | |
12519 | "gateway6" : { | |
12520 | "description" : "Default ipv6 gateway address.", | |
12521 | "format" : "ipv6", | |
12522 | "optional" : 1, | |
12523 | "type" : "string", | |
12524 | "typetext" : "<string>" | |
12525 | }, | |
12526 | "iface" : { | |
12527 | "description" : "Network interface name.", | |
12528 | "format" : "pve-iface", | |
12529 | "maxLength" : 20, | |
12530 | "minLength" : 2, | |
12531 | "type" : "string", | |
12532 | "typetext" : "<string>" | |
12533 | }, | |
6bd70b95 TL |
12534 | "mtu" : { |
12535 | "description" : "MTU.", | |
12536 | "maximum" : 65520, | |
12537 | "minimum" : 1280, | |
12538 | "optional" : 1, | |
12539 | "type" : "integer", | |
12540 | "typetext" : "<integer> (1280 - 65520)" | |
12541 | }, | |
410dc2c9 DM |
12542 | "netmask" : { |
12543 | "description" : "Network mask.", | |
12544 | "format" : "ipv4mask", | |
12545 | "optional" : 1, | |
12546 | "requires" : "address", | |
12547 | "type" : "string", | |
12548 | "typetext" : "<string>" | |
12549 | }, | |
12550 | "netmask6" : { | |
12551 | "description" : "Network mask.", | |
12552 | "maximum" : 128, | |
12553 | "minimum" : 0, | |
12554 | "optional" : 1, | |
12555 | "requires" : "address6", | |
12556 | "type" : "integer", | |
12557 | "typetext" : "<integer> (0 - 128)" | |
12558 | }, | |
12559 | "node" : { | |
12560 | "description" : "The cluster node name.", | |
12561 | "format" : "pve-node", | |
12562 | "type" : "string", | |
12563 | "typetext" : "<string>" | |
12564 | }, | |
12565 | "ovs_bonds" : { | |
12566 | "description" : "Specify the interfaces used by the bonding device.", | |
12567 | "format" : "pve-iface-list", | |
12568 | "optional" : 1, | |
12569 | "type" : "string", | |
12570 | "typetext" : "<string>" | |
12571 | }, | |
12572 | "ovs_bridge" : { | |
12573 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
12574 | "format" : "pve-iface", | |
12575 | "optional" : 1, | |
12576 | "type" : "string", | |
12577 | "typetext" : "<string>" | |
12578 | }, | |
12579 | "ovs_options" : { | |
12580 | "description" : "OVS interface options.", | |
12581 | "maxLength" : 1024, | |
12582 | "optional" : 1, | |
12583 | "type" : "string", | |
12584 | "typetext" : "<string>" | |
12585 | }, | |
12586 | "ovs_ports" : { | |
d8212759 | 12587 | "description" : "Specify the interfaces you want to add to your bridge.", |
410dc2c9 DM |
12588 | "format" : "pve-iface-list", |
12589 | "optional" : 1, | |
12590 | "type" : "string", | |
12591 | "typetext" : "<string>" | |
12592 | }, | |
12593 | "ovs_tag" : { | |
12594 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
12595 | "maximum" : 4094, | |
12596 | "minimum" : 1, | |
12597 | "optional" : 1, | |
12598 | "type" : "integer", | |
12599 | "typetext" : "<integer> (1 - 4094)" | |
12600 | }, | |
12601 | "slaves" : { | |
12602 | "description" : "Specify the interfaces used by the bonding device.", | |
12603 | "format" : "pve-iface-list", | |
12604 | "optional" : 1, | |
12605 | "type" : "string", | |
12606 | "typetext" : "<string>" | |
12607 | }, | |
12608 | "type" : { | |
12609 | "description" : "Network interface type", | |
12610 | "enum" : [ | |
12611 | "bridge", | |
12612 | "bond", | |
12613 | "eth", | |
12614 | "alias", | |
12615 | "vlan", | |
12616 | "OVSBridge", | |
12617 | "OVSBond", | |
12618 | "OVSPort", | |
12619 | "OVSIntPort", | |
12620 | "unknown" | |
12621 | ], | |
12622 | "type" : "string" | |
6bd70b95 TL |
12623 | }, |
12624 | "vlan-id" : { | |
12625 | "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).", | |
12626 | "maximum" : 4094, | |
12627 | "minimum" : 1, | |
12628 | "optional" : 1, | |
12629 | "type" : "integer", | |
12630 | "typetext" : "<integer> (1 - 4094)" | |
12631 | }, | |
12632 | "vlan-raw-device" : { | |
12633 | "description" : "Specify the raw interface for the vlan interface.", | |
12634 | "format" : "pve-iface", | |
12635 | "optional" : 1, | |
12636 | "type" : "string", | |
12637 | "typetext" : "<string>" | |
410dc2c9 DM |
12638 | } |
12639 | } | |
12640 | }, | |
12641 | "protected" : 1, | |
12642 | "proxyto" : "node", | |
12643 | "returns" : { | |
12644 | "type" : "null" | |
12645 | } | |
e0e71e6a TL |
12646 | }, |
12647 | "PUT" : { | |
12648 | "allowtoken" : 1, | |
12649 | "description" : "Reload network configuration", | |
12650 | "method" : "PUT", | |
12651 | "name" : "reload_network_config", | |
12652 | "parameters" : { | |
12653 | "additionalProperties" : 0, | |
12654 | "properties" : { | |
12655 | "node" : { | |
12656 | "description" : "The cluster node name.", | |
12657 | "format" : "pve-node", | |
12658 | "type" : "string", | |
12659 | "typetext" : "<string>" | |
12660 | } | |
12661 | } | |
12662 | }, | |
12663 | "protected" : 1, | |
12664 | "proxyto" : "node", | |
12665 | "returns" : { | |
12666 | "type" : "string" | |
12667 | } | |
410dc2c9 DM |
12668 | } |
12669 | }, | |
12670 | "leaf" : 0, | |
12671 | "path" : "/nodes/{node}/network", | |
12672 | "text" : "network" | |
12673 | }, | |
12674 | { | |
12675 | "children" : [ | |
12676 | { | |
12677 | "children" : [ | |
12678 | { | |
12679 | "info" : { | |
12680 | "GET" : { | |
6bd70b95 | 12681 | "allowtoken" : 1, |
410dc2c9 DM |
12682 | "description" : "Read task log.", |
12683 | "method" : "GET", | |
12684 | "name" : "read_task_log", | |
12685 | "parameters" : { | |
12686 | "additionalProperties" : 0, | |
12687 | "properties" : { | |
f4831d94 TL |
12688 | "download" : { |
12689 | "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters", | |
12690 | "optional" : 1, | |
12691 | "type" : "boolean", | |
12692 | "typetext" : "<boolean>" | |
12693 | }, | |
410dc2c9 | 12694 | "limit" : { |
f4831d94 | 12695 | "description" : "The amount of lines to read from the tasklog.", |
410dc2c9 DM |
12696 | "minimum" : 0, |
12697 | "optional" : 1, | |
12698 | "type" : "integer", | |
12699 | "typetext" : "<integer> (0 - N)" | |
12700 | }, | |
12701 | "node" : { | |
12702 | "description" : "The cluster node name.", | |
12703 | "format" : "pve-node", | |
12704 | "type" : "string", | |
12705 | "typetext" : "<string>" | |
12706 | }, | |
12707 | "start" : { | |
f4831d94 | 12708 | "description" : "Start at this line when reading the tasklog", |
410dc2c9 DM |
12709 | "minimum" : 0, |
12710 | "optional" : 1, | |
12711 | "type" : "integer", | |
12712 | "typetext" : "<integer> (0 - N)" | |
12713 | }, | |
12714 | "upid" : { | |
12715 | "type" : "string", | |
12716 | "typetext" : "<string>" | |
12717 | } | |
12718 | } | |
12719 | }, | |
732d76e1 DM |
12720 | "permissions" : { |
12721 | "check" : [ | |
12722 | "admin", | |
12723 | "audit" | |
12724 | ] | |
12725 | }, | |
410dc2c9 DM |
12726 | "protected" : 1, |
12727 | "proxyto" : "node", | |
12728 | "returns" : { | |
12729 | "items" : { | |
12730 | "properties" : { | |
12731 | "n" : { | |
12732 | "description" : "Line number", | |
12733 | "type" : "integer" | |
12734 | }, | |
12735 | "t" : { | |
12736 | "description" : "Line text", | |
12737 | "type" : "string" | |
12738 | } | |
12739 | }, | |
12740 | "type" : "object" | |
12741 | }, | |
12742 | "type" : "array" | |
12743 | } | |
12744 | } | |
12745 | }, | |
12746 | "leaf" : 1, | |
12747 | "path" : "/nodes/{node}/tasks/{upid}/log", | |
12748 | "text" : "log" | |
12749 | }, | |
12750 | { | |
12751 | "info" : { | |
12752 | "GET" : { | |
6bd70b95 | 12753 | "allowtoken" : 1, |
410dc2c9 DM |
12754 | "description" : "Read task status.", |
12755 | "method" : "GET", | |
12756 | "name" : "read_task_status", | |
12757 | "parameters" : { | |
12758 | "additionalProperties" : 0, | |
12759 | "properties" : { | |
12760 | "node" : { | |
12761 | "description" : "The cluster node name.", | |
12762 | "format" : "pve-node", | |
12763 | "type" : "string", | |
12764 | "typetext" : "<string>" | |
12765 | }, | |
12766 | "upid" : { | |
12767 | "type" : "string", | |
12768 | "typetext" : "<string>" | |
12769 | } | |
12770 | } | |
12771 | }, | |
732d76e1 DM |
12772 | "permissions" : { |
12773 | "check" : [ | |
12774 | "admin", | |
12775 | "audit" | |
12776 | ] | |
12777 | }, | |
410dc2c9 DM |
12778 | "protected" : 1, |
12779 | "proxyto" : "node", | |
12780 | "returns" : { | |
12781 | "properties" : { | |
12782 | "pid" : { | |
12783 | "type" : "integer" | |
12784 | }, | |
12785 | "status" : { | |
12786 | "enum" : [ | |
12787 | "running", | |
12788 | "stopped" | |
12789 | ], | |
12790 | "type" : "string" | |
12791 | } | |
12792 | }, | |
12793 | "type" : "object" | |
12794 | } | |
12795 | } | |
12796 | }, | |
12797 | "leaf" : 1, | |
12798 | "path" : "/nodes/{node}/tasks/{upid}/status", | |
12799 | "text" : "status" | |
12800 | } | |
12801 | ], | |
12802 | "info" : { | |
12803 | "DELETE" : { | |
6bd70b95 | 12804 | "allowtoken" : 1, |
410dc2c9 DM |
12805 | "description" : "Stop a task.", |
12806 | "method" : "DELETE", | |
12807 | "name" : "stop_task", | |
12808 | "parameters" : { | |
12809 | "additionalProperties" : 0, | |
12810 | "properties" : { | |
12811 | "node" : { | |
12812 | "description" : "The cluster node name.", | |
12813 | "format" : "pve-node", | |
12814 | "type" : "string", | |
12815 | "typetext" : "<string>" | |
12816 | }, | |
12817 | "upid" : { | |
12818 | "type" : "string", | |
12819 | "typetext" : "<string>" | |
12820 | } | |
12821 | } | |
12822 | }, | |
732d76e1 DM |
12823 | "permissions" : { |
12824 | "check" : [ | |
12825 | "admin" | |
12826 | ] | |
12827 | }, | |
410dc2c9 DM |
12828 | "protected" : 1, |
12829 | "proxyto" : "node", | |
12830 | "returns" : { | |
12831 | "type" : "null" | |
12832 | } | |
12833 | }, | |
12834 | "GET" : { | |
6bd70b95 | 12835 | "allowtoken" : 1, |
410dc2c9 DM |
12836 | "description" : "", |
12837 | "method" : "GET", | |
12838 | "name" : "upid_index", | |
12839 | "parameters" : { | |
12840 | "additionalProperties" : 0, | |
12841 | "properties" : { | |
12842 | "node" : { | |
12843 | "description" : "The cluster node name.", | |
12844 | "format" : "pve-node", | |
12845 | "type" : "string", | |
12846 | "typetext" : "<string>" | |
12847 | }, | |
12848 | "upid" : { | |
12849 | "type" : "string", | |
12850 | "typetext" : "<string>" | |
12851 | } | |
12852 | } | |
12853 | }, | |
732d76e1 DM |
12854 | "permissions" : { |
12855 | "check" : [ | |
12856 | "admin", | |
12857 | "audit" | |
12858 | ] | |
12859 | }, | |
410dc2c9 DM |
12860 | "returns" : { |
12861 | "items" : { | |
12862 | "properties" : {}, | |
12863 | "type" : "object" | |
12864 | }, | |
12865 | "links" : [ | |
12866 | { | |
12867 | "href" : "{name}", | |
12868 | "rel" : "child" | |
12869 | } | |
12870 | ], | |
12871 | "type" : "array" | |
12872 | } | |
12873 | } | |
12874 | }, | |
12875 | "leaf" : 0, | |
12876 | "path" : "/nodes/{node}/tasks/{upid}", | |
12877 | "text" : "{upid}" | |
12878 | } | |
12879 | ], | |
12880 | "info" : { | |
12881 | "GET" : { | |
6bd70b95 | 12882 | "allowtoken" : 1, |
410dc2c9 DM |
12883 | "description" : "Read task list for one node (finished tasks).", |
12884 | "method" : "GET", | |
12885 | "name" : "node_tasks", | |
12886 | "parameters" : { | |
12887 | "additionalProperties" : 0, | |
12888 | "properties" : { | |
12889 | "errors" : { | |
12890 | "optional" : 1, | |
12891 | "type" : "boolean", | |
12892 | "typetext" : "<boolean>" | |
12893 | }, | |
12894 | "limit" : { | |
12895 | "minimum" : 0, | |
12896 | "optional" : 1, | |
12897 | "type" : "integer", | |
12898 | "typetext" : "<integer> (0 - N)" | |
12899 | }, | |
12900 | "node" : { | |
12901 | "description" : "The cluster node name.", | |
12902 | "format" : "pve-node", | |
12903 | "type" : "string", | |
12904 | "typetext" : "<string>" | |
12905 | }, | |
14ffe66b TL |
12906 | "since" : { |
12907 | "description" : "Only list tasks since this UNIX epoch.", | |
12908 | "optional" : 1, | |
12909 | "type" : "integer", | |
12910 | "typetext" : "<integer>" | |
12911 | }, | |
410dc2c9 DM |
12912 | "start" : { |
12913 | "minimum" : 0, | |
12914 | "optional" : 1, | |
12915 | "type" : "integer", | |
12916 | "typetext" : "<integer> (0 - N)" | |
12917 | }, | |
14ffe66b TL |
12918 | "statusfilter" : { |
12919 | "description" : "List of Task States that should be returned.", | |
12920 | "format" : "pve-task-status-type-list", | |
12921 | "optional" : 1, | |
12922 | "type" : "string", | |
12923 | "typetext" : "<string>" | |
12924 | }, | |
12925 | "typefilter" : { | |
12926 | "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).", | |
12927 | "optional" : 1, | |
12928 | "type" : "string", | |
12929 | "typetext" : "<string>" | |
12930 | }, | |
12931 | "until" : { | |
12932 | "description" : "Only list tasks until this UNIX epoch.", | |
12933 | "optional" : 1, | |
12934 | "type" : "integer", | |
12935 | "typetext" : "<integer>" | |
12936 | }, | |
410dc2c9 DM |
12937 | "userfilter" : { |
12938 | "optional" : 1, | |
12939 | "type" : "string", | |
12940 | "typetext" : "<string>" | |
12941 | } | |
12942 | } | |
12943 | }, | |
732d76e1 DM |
12944 | "permissions" : { |
12945 | "check" : [ | |
12946 | "admin", | |
12947 | "audit" | |
12948 | ] | |
12949 | }, | |
410dc2c9 DM |
12950 | "proxyto" : "node", |
12951 | "returns" : { | |
12952 | "items" : { | |
12953 | "properties" : { | |
12954 | "upid" : { | |
12955 | "type" : "string" | |
12956 | } | |
12957 | }, | |
12958 | "type" : "object" | |
12959 | }, | |
12960 | "links" : [ | |
12961 | { | |
12962 | "href" : "{upid}", | |
12963 | "rel" : "child" | |
12964 | } | |
12965 | ], | |
12966 | "type" : "array" | |
12967 | } | |
12968 | } | |
12969 | }, | |
12970 | "leaf" : 0, | |
12971 | "path" : "/nodes/{node}/tasks", | |
12972 | "text" : "tasks" | |
12973 | }, | |
12974 | { | |
12975 | "children" : [ | |
12976 | { | |
12977 | "children" : [ | |
12978 | { | |
12979 | "info" : { | |
12980 | "GET" : { | |
6bd70b95 | 12981 | "allowtoken" : 1, |
410dc2c9 DM |
12982 | "description" : "Read service properties", |
12983 | "method" : "GET", | |
12984 | "name" : "service_state", | |
12985 | "parameters" : { | |
12986 | "additionalProperties" : 0, | |
12987 | "properties" : { | |
12988 | "node" : { | |
12989 | "description" : "The cluster node name.", | |
12990 | "format" : "pve-node", | |
12991 | "type" : "string", | |
12992 | "typetext" : "<string>" | |
12993 | }, | |
12994 | "service" : { | |
12995 | "description" : "Service ID", | |
12996 | "enum" : [ | |
a55e94a6 DM |
12997 | "clamav-daemon", |
12998 | "clamav-freshclam", | |
732d76e1 | 12999 | "fetchmail", |
410dc2c9 DM |
13000 | "pmgproxy", |
13001 | "pmgdaemon", | |
a55e94a6 | 13002 | "pmgpolicy", |
410dc2c9 | 13003 | "pmg-smtp-filter", |
d7cd791b DM |
13004 | "pmgtunnel", |
13005 | "pmgmirror", | |
13006 | "ssh", | |
13007 | "rsyslog", | |
410dc2c9 | 13008 | "postfix", |
d7cd791b | 13009 | "postgres", |
a55e94a6 DM |
13010 | "systemd-timesyncd", |
13011 | "pmg-hourly", | |
d7cd791b | 13012 | "pmg-daily", |
9fda36b0 | 13013 | "pmgreport", |
e0e71e6a TL |
13014 | "pmgspamreport", |
13015 | "chrony" | |
410dc2c9 DM |
13016 | ], |
13017 | "type" : "string" | |
13018 | } | |
13019 | } | |
13020 | }, | |
732d76e1 DM |
13021 | "permissions" : { |
13022 | "check" : [ | |
13023 | "admin", | |
13024 | "audit" | |
13025 | ] | |
13026 | }, | |
410dc2c9 DM |
13027 | "protected" : 1, |
13028 | "proxyto" : "node", | |
13029 | "returns" : { | |
410dc2c9 DM |
13030 | "type" : "object" |
13031 | } | |
13032 | } | |
13033 | }, | |
13034 | "leaf" : 1, | |
13035 | "path" : "/nodes/{node}/services/{service}/state", | |
13036 | "text" : "state" | |
13037 | }, | |
13038 | { | |
13039 | "info" : { | |
13040 | "POST" : { | |
6bd70b95 | 13041 | "allowtoken" : 1, |
410dc2c9 DM |
13042 | "description" : "Start service.", |
13043 | "method" : "POST", | |
13044 | "name" : "service_start", | |
13045 | "parameters" : { | |
13046 | "additionalProperties" : 0, | |
13047 | "properties" : { | |
13048 | "node" : { | |
13049 | "description" : "The cluster node name.", | |
13050 | "format" : "pve-node", | |
13051 | "type" : "string", | |
13052 | "typetext" : "<string>" | |
13053 | }, | |
13054 | "service" : { | |
13055 | "description" : "Service ID", | |
13056 | "enum" : [ | |
a55e94a6 DM |
13057 | "clamav-daemon", |
13058 | "clamav-freshclam", | |
732d76e1 | 13059 | "fetchmail", |
410dc2c9 DM |
13060 | "pmgproxy", |
13061 | "pmgdaemon", | |
a55e94a6 | 13062 | "pmgpolicy", |
410dc2c9 | 13063 | "pmg-smtp-filter", |
d7cd791b DM |
13064 | "pmgtunnel", |
13065 | "pmgmirror", | |
13066 | "ssh", | |
13067 | "rsyslog", | |
410dc2c9 | 13068 | "postfix", |
d7cd791b | 13069 | "postgres", |
a55e94a6 DM |
13070 | "systemd-timesyncd", |
13071 | "pmg-hourly", | |
d7cd791b | 13072 | "pmg-daily", |
9fda36b0 | 13073 | "pmgreport", |
e0e71e6a TL |
13074 | "pmgspamreport", |
13075 | "chrony" | |
410dc2c9 DM |
13076 | ], |
13077 | "type" : "string" | |
13078 | } | |
13079 | } | |
13080 | }, | |
732d76e1 DM |
13081 | "permissions" : { |
13082 | "check" : [ | |
13083 | "admin" | |
13084 | ] | |
13085 | }, | |
410dc2c9 DM |
13086 | "protected" : 1, |
13087 | "proxyto" : "node", | |
13088 | "returns" : { | |
13089 | "type" : "string" | |
13090 | } | |
13091 | } | |
13092 | }, | |
13093 | "leaf" : 1, | |
13094 | "path" : "/nodes/{node}/services/{service}/start", | |
13095 | "text" : "start" | |
13096 | }, | |
13097 | { | |
13098 | "info" : { | |
13099 | "POST" : { | |
6bd70b95 | 13100 | "allowtoken" : 1, |
410dc2c9 DM |
13101 | "description" : "Stop service.", |
13102 | "method" : "POST", | |
13103 | "name" : "service_stop", | |
13104 | "parameters" : { | |
13105 | "additionalProperties" : 0, | |
13106 | "properties" : { | |
13107 | "node" : { | |
13108 | "description" : "The cluster node name.", | |
13109 | "format" : "pve-node", | |
13110 | "type" : "string", | |
13111 | "typetext" : "<string>" | |
13112 | }, | |
13113 | "service" : { | |
13114 | "description" : "Service ID", | |
13115 | "enum" : [ | |
a55e94a6 DM |
13116 | "clamav-daemon", |
13117 | "clamav-freshclam", | |
732d76e1 | 13118 | "fetchmail", |
410dc2c9 DM |
13119 | "pmgproxy", |
13120 | "pmgdaemon", | |
a55e94a6 | 13121 | "pmgpolicy", |
410dc2c9 | 13122 | "pmg-smtp-filter", |
d7cd791b DM |
13123 | "pmgtunnel", |
13124 | "pmgmirror", | |
13125 | "ssh", | |
13126 | "rsyslog", | |
410dc2c9 | 13127 | "postfix", |
d7cd791b | 13128 | "postgres", |
a55e94a6 DM |
13129 | "systemd-timesyncd", |
13130 | "pmg-hourly", | |
d7cd791b | 13131 | "pmg-daily", |
9fda36b0 | 13132 | "pmgreport", |
e0e71e6a TL |
13133 | "pmgspamreport", |
13134 | "chrony" | |
410dc2c9 DM |
13135 | ], |
13136 | "type" : "string" | |
13137 | } | |
13138 | } | |
13139 | }, | |
732d76e1 DM |
13140 | "permissions" : { |
13141 | "check" : [ | |
13142 | "admin" | |
13143 | ] | |
13144 | }, | |
410dc2c9 DM |
13145 | "protected" : 1, |
13146 | "proxyto" : "node", | |
13147 | "returns" : { | |
13148 | "type" : "string" | |
13149 | } | |
13150 | } | |
13151 | }, | |
13152 | "leaf" : 1, | |
13153 | "path" : "/nodes/{node}/services/{service}/stop", | |
13154 | "text" : "stop" | |
13155 | }, | |
13156 | { | |
13157 | "info" : { | |
13158 | "POST" : { | |
6bd70b95 | 13159 | "allowtoken" : 1, |
410dc2c9 DM |
13160 | "description" : "Restart service.", |
13161 | "method" : "POST", | |
13162 | "name" : "service_restart", | |
13163 | "parameters" : { | |
13164 | "additionalProperties" : 0, | |
13165 | "properties" : { | |
13166 | "node" : { | |
13167 | "description" : "The cluster node name.", | |
13168 | "format" : "pve-node", | |
13169 | "type" : "string", | |
13170 | "typetext" : "<string>" | |
13171 | }, | |
13172 | "service" : { | |
13173 | "description" : "Service ID", | |
13174 | "enum" : [ | |
a55e94a6 DM |
13175 | "clamav-daemon", |
13176 | "clamav-freshclam", | |
732d76e1 | 13177 | "fetchmail", |
410dc2c9 DM |
13178 | "pmgproxy", |
13179 | "pmgdaemon", | |
a55e94a6 | 13180 | "pmgpolicy", |
410dc2c9 | 13181 | "pmg-smtp-filter", |
d7cd791b DM |
13182 | "pmgtunnel", |
13183 | "pmgmirror", | |
13184 | "ssh", | |
13185 | "rsyslog", | |
410dc2c9 | 13186 | "postfix", |
d7cd791b | 13187 | "postgres", |
a55e94a6 DM |
13188 | "systemd-timesyncd", |
13189 | "pmg-hourly", | |
d7cd791b | 13190 | "pmg-daily", |
9fda36b0 | 13191 | "pmgreport", |
e0e71e6a TL |
13192 | "pmgspamreport", |
13193 | "chrony" | |
410dc2c9 DM |
13194 | ], |
13195 | "type" : "string" | |
13196 | } | |
13197 | } | |
13198 | }, | |
732d76e1 DM |
13199 | "permissions" : { |
13200 | "check" : [ | |
13201 | "admin" | |
13202 | ] | |
13203 | }, | |
410dc2c9 DM |
13204 | "protected" : 1, |
13205 | "proxyto" : "node", | |
13206 | "returns" : { | |
13207 | "type" : "string" | |
13208 | } | |
13209 | } | |
13210 | }, | |
13211 | "leaf" : 1, | |
13212 | "path" : "/nodes/{node}/services/{service}/restart", | |
13213 | "text" : "restart" | |
13214 | }, | |
13215 | { | |
13216 | "info" : { | |
13217 | "POST" : { | |
6bd70b95 | 13218 | "allowtoken" : 1, |
410dc2c9 DM |
13219 | "description" : "Reload service.", |
13220 | "method" : "POST", | |
13221 | "name" : "service_reload", | |
13222 | "parameters" : { | |
13223 | "additionalProperties" : 0, | |
13224 | "properties" : { | |
13225 | "node" : { | |
13226 | "description" : "The cluster node name.", | |
13227 | "format" : "pve-node", | |
13228 | "type" : "string", | |
13229 | "typetext" : "<string>" | |
13230 | }, | |
13231 | "service" : { | |
13232 | "description" : "Service ID", | |
13233 | "enum" : [ | |
a55e94a6 DM |
13234 | "clamav-daemon", |
13235 | "clamav-freshclam", | |
732d76e1 | 13236 | "fetchmail", |
410dc2c9 DM |
13237 | "pmgproxy", |
13238 | "pmgdaemon", | |
a55e94a6 | 13239 | "pmgpolicy", |
410dc2c9 | 13240 | "pmg-smtp-filter", |
d7cd791b DM |
13241 | "pmgtunnel", |
13242 | "pmgmirror", | |
13243 | "ssh", | |
13244 | "rsyslog", | |
410dc2c9 | 13245 | "postfix", |
d7cd791b | 13246 | "postgres", |
a55e94a6 DM |
13247 | "systemd-timesyncd", |
13248 | "pmg-hourly", | |
d7cd791b | 13249 | "pmg-daily", |
9fda36b0 | 13250 | "pmgreport", |
e0e71e6a TL |
13251 | "pmgspamreport", |
13252 | "chrony" | |
410dc2c9 DM |
13253 | ], |
13254 | "type" : "string" | |
13255 | } | |
13256 | } | |
13257 | }, | |
732d76e1 DM |
13258 | "permissions" : { |
13259 | "check" : [ | |
13260 | "admin" | |
13261 | ] | |
13262 | }, | |
410dc2c9 DM |
13263 | "protected" : 1, |
13264 | "proxyto" : "node", | |
13265 | "returns" : { | |
13266 | "type" : "string" | |
13267 | } | |
13268 | } | |
13269 | }, | |
13270 | "leaf" : 1, | |
13271 | "path" : "/nodes/{node}/services/{service}/reload", | |
13272 | "text" : "reload" | |
13273 | } | |
13274 | ], | |
13275 | "info" : { | |
13276 | "GET" : { | |
6bd70b95 | 13277 | "allowtoken" : 1, |
410dc2c9 DM |
13278 | "description" : "Directory index", |
13279 | "method" : "GET", | |
13280 | "name" : "srvcmdidx", | |
13281 | "parameters" : { | |
13282 | "additionalProperties" : 0, | |
13283 | "properties" : { | |
13284 | "node" : { | |
13285 | "description" : "The cluster node name.", | |
13286 | "format" : "pve-node", | |
13287 | "type" : "string", | |
13288 | "typetext" : "<string>" | |
13289 | }, | |
13290 | "service" : { | |
13291 | "description" : "Service ID", | |
13292 | "enum" : [ | |
a55e94a6 DM |
13293 | "clamav-daemon", |
13294 | "clamav-freshclam", | |
732d76e1 | 13295 | "fetchmail", |
410dc2c9 DM |
13296 | "pmgproxy", |
13297 | "pmgdaemon", | |
a55e94a6 | 13298 | "pmgpolicy", |
410dc2c9 | 13299 | "pmg-smtp-filter", |
d7cd791b DM |
13300 | "pmgtunnel", |
13301 | "pmgmirror", | |
13302 | "ssh", | |
13303 | "rsyslog", | |
410dc2c9 | 13304 | "postfix", |
d7cd791b | 13305 | "postgres", |
a55e94a6 DM |
13306 | "systemd-timesyncd", |
13307 | "pmg-hourly", | |
d7cd791b | 13308 | "pmg-daily", |
9fda36b0 | 13309 | "pmgreport", |
e0e71e6a TL |
13310 | "pmgspamreport", |
13311 | "chrony" | |
410dc2c9 DM |
13312 | ], |
13313 | "type" : "string" | |
13314 | } | |
13315 | } | |
13316 | }, | |
732d76e1 DM |
13317 | "permissions" : { |
13318 | "check" : [ | |
13319 | "admin", | |
13320 | "audit" | |
13321 | ] | |
13322 | }, | |
410dc2c9 DM |
13323 | "returns" : { |
13324 | "items" : { | |
13325 | "properties" : { | |
13326 | "subdir" : { | |
13327 | "type" : "string" | |
13328 | } | |
13329 | }, | |
13330 | "type" : "object" | |
13331 | }, | |
13332 | "links" : [ | |
13333 | { | |
13334 | "href" : "{subdir}", | |
13335 | "rel" : "child" | |
13336 | } | |
13337 | ], | |
13338 | "type" : "array" | |
13339 | } | |
13340 | } | |
13341 | }, | |
9fda36b0 DM |
13342 | "leaf" : 0, |
13343 | "path" : "/nodes/{node}/services/{service}", | |
13344 | "text" : "{service}" | |
13345 | } | |
13346 | ], | |
13347 | "info" : { | |
13348 | "GET" : { | |
6bd70b95 | 13349 | "allowtoken" : 1, |
9fda36b0 DM |
13350 | "description" : "Service list.", |
13351 | "method" : "GET", | |
13352 | "name" : "index", | |
13353 | "parameters" : { | |
13354 | "additionalProperties" : 0, | |
13355 | "properties" : { | |
13356 | "node" : { | |
13357 | "description" : "The cluster node name.", | |
13358 | "format" : "pve-node", | |
13359 | "type" : "string", | |
13360 | "typetext" : "<string>" | |
13361 | } | |
13362 | } | |
13363 | }, | |
732d76e1 DM |
13364 | "permissions" : { |
13365 | "check" : [ | |
13366 | "admin", | |
13367 | "audit" | |
13368 | ] | |
13369 | }, | |
9fda36b0 DM |
13370 | "protected" : 1, |
13371 | "proxyto" : "node", | |
13372 | "returns" : { | |
13373 | "items" : { | |
13374 | "properties" : {}, | |
13375 | "type" : "object" | |
13376 | }, | |
13377 | "links" : [ | |
13378 | { | |
13379 | "href" : "{service}", | |
13380 | "rel" : "child" | |
13381 | } | |
13382 | ], | |
13383 | "type" : "array" | |
13384 | } | |
13385 | } | |
13386 | }, | |
13387 | "leaf" : 0, | |
13388 | "path" : "/nodes/{node}/services", | |
13389 | "text" : "services" | |
13390 | }, | |
13391 | { | |
13392 | "info" : { | |
ab2b846b TL |
13393 | "DELETE" : { |
13394 | "allowtoken" : 1, | |
13395 | "description" : "Delete subscription key.", | |
13396 | "method" : "DELETE", | |
13397 | "name" : "delete", | |
13398 | "parameters" : { | |
13399 | "additionalProperties" : 0, | |
13400 | "properties" : { | |
13401 | "node" : { | |
13402 | "description" : "The cluster node name.", | |
13403 | "format" : "pve-node", | |
13404 | "type" : "string", | |
13405 | "typetext" : "<string>" | |
13406 | } | |
13407 | } | |
13408 | }, | |
13409 | "protected" : 1, | |
13410 | "proxyto" : "node", | |
13411 | "returns" : { | |
13412 | "type" : "null" | |
13413 | } | |
13414 | }, | |
9fda36b0 | 13415 | "GET" : { |
6bd70b95 | 13416 | "allowtoken" : 1, |
9fda36b0 DM |
13417 | "description" : "Read subscription info.", |
13418 | "method" : "GET", | |
13419 | "name" : "get", | |
13420 | "parameters" : { | |
13421 | "additionalProperties" : 0, | |
13422 | "properties" : { | |
13423 | "node" : { | |
13424 | "description" : "The cluster node name.", | |
13425 | "format" : "pve-node", | |
13426 | "type" : "string", | |
13427 | "typetext" : "<string>" | |
13428 | } | |
13429 | } | |
13430 | }, | |
13431 | "permissions" : { | |
13432 | "check" : [ | |
13433 | "admin", | |
13434 | "qmanager", | |
13435 | "audit", | |
13436 | "quser" | |
13437 | ] | |
13438 | }, | |
13439 | "proxyto" : "node", | |
13440 | "returns" : { | |
13441 | "type" : "object" | |
13442 | } | |
732d76e1 DM |
13443 | }, |
13444 | "POST" : { | |
6bd70b95 | 13445 | "allowtoken" : 1, |
732d76e1 DM |
13446 | "description" : "Update subscription info.", |
13447 | "method" : "POST", | |
13448 | "name" : "update", | |
13449 | "parameters" : { | |
13450 | "additionalProperties" : 0, | |
13451 | "properties" : { | |
13452 | "force" : { | |
13453 | "default" : 0, | |
13454 | "description" : "Always connect to server, even if we have up to date info inside local cache.", | |
13455 | "optional" : 1, | |
13456 | "type" : "boolean", | |
13457 | "typetext" : "<boolean>" | |
13458 | }, | |
13459 | "node" : { | |
13460 | "description" : "The cluster node name.", | |
13461 | "format" : "pve-node", | |
13462 | "type" : "string", | |
13463 | "typetext" : "<string>" | |
13464 | } | |
13465 | } | |
13466 | }, | |
13467 | "permissions" : { | |
13468 | "check" : [ | |
13469 | "admin" | |
13470 | ] | |
13471 | }, | |
13472 | "protected" : 1, | |
13473 | "proxyto" : "node", | |
13474 | "returns" : { | |
13475 | "type" : "null" | |
13476 | } | |
13477 | }, | |
13478 | "PUT" : { | |
6bd70b95 | 13479 | "allowtoken" : 1, |
732d76e1 DM |
13480 | "description" : "Set subscription key.", |
13481 | "method" : "PUT", | |
13482 | "name" : "set", | |
13483 | "parameters" : { | |
13484 | "additionalProperties" : 0, | |
13485 | "properties" : { | |
13486 | "key" : { | |
13487 | "description" : "Proxmox Mail Gateway subscription key", | |
13488 | "maxLength" : 32, | |
13489 | "pattern" : "pmg([cbsp])-[0-9a-f]{10}", | |
13490 | "type" : "string" | |
13491 | }, | |
13492 | "node" : { | |
13493 | "description" : "The cluster node name.", | |
13494 | "format" : "pve-node", | |
13495 | "type" : "string", | |
13496 | "typetext" : "<string>" | |
13497 | } | |
13498 | } | |
13499 | }, | |
13500 | "protected" : 1, | |
13501 | "proxyto" : "node", | |
13502 | "returns" : { | |
13503 | "type" : "null" | |
13504 | } | |
9fda36b0 DM |
13505 | } |
13506 | }, | |
13507 | "leaf" : 1, | |
13508 | "path" : "/nodes/{node}/subscription", | |
13509 | "text" : "subscription" | |
13510 | }, | |
13511 | { | |
13512 | "children" : [ | |
13513 | { | |
13514 | "info" : { | |
13515 | "GET" : { | |
6bd70b95 | 13516 | "allowtoken" : 1, |
9fda36b0 DM |
13517 | "description" : "List available updates.", |
13518 | "method" : "GET", | |
13519 | "name" : "list_updates", | |
13520 | "parameters" : { | |
13521 | "additionalProperties" : 0, | |
13522 | "properties" : { | |
13523 | "node" : { | |
13524 | "description" : "The cluster node name.", | |
13525 | "format" : "pve-node", | |
13526 | "type" : "string", | |
13527 | "typetext" : "<string>" | |
13528 | } | |
13529 | } | |
13530 | }, | |
732d76e1 DM |
13531 | "permissions" : { |
13532 | "check" : [ | |
13533 | "admin", | |
13534 | "audit" | |
13535 | ] | |
13536 | }, | |
9fda36b0 DM |
13537 | "protected" : 1, |
13538 | "proxyto" : "node", | |
13539 | "returns" : { | |
13540 | "items" : { | |
13541 | "properties" : {}, | |
13542 | "type" : "object" | |
13543 | }, | |
13544 | "type" : "array" | |
13545 | } | |
13546 | }, | |
13547 | "POST" : { | |
6bd70b95 | 13548 | "allowtoken" : 1, |
9fda36b0 DM |
13549 | "description" : "This is used to resynchronize the package index files from their sources (apt-get update).", |
13550 | "method" : "POST", | |
13551 | "name" : "update_database", | |
13552 | "parameters" : { | |
13553 | "additionalProperties" : 0, | |
13554 | "properties" : { | |
13555 | "node" : { | |
13556 | "description" : "The cluster node name.", | |
13557 | "format" : "pve-node", | |
13558 | "type" : "string", | |
13559 | "typetext" : "<string>" | |
13560 | }, | |
13561 | "notify" : { | |
13562 | "default" : 0, | |
13563 | "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').", | |
13564 | "optional" : 1, | |
13565 | "type" : "boolean", | |
13566 | "typetext" : "<boolean>" | |
13567 | }, | |
13568 | "quiet" : { | |
13569 | "default" : 0, | |
13570 | "description" : "Only produces output suitable for logging, omitting progress indicators.", | |
13571 | "optional" : 1, | |
13572 | "type" : "boolean", | |
13573 | "typetext" : "<boolean>" | |
13574 | } | |
13575 | } | |
13576 | }, | |
732d76e1 DM |
13577 | "permissions" : { |
13578 | "check" : [ | |
13579 | "admin" | |
13580 | ] | |
13581 | }, | |
9fda36b0 DM |
13582 | "protected" : 1, |
13583 | "proxyto" : "node", | |
13584 | "returns" : { | |
13585 | "type" : "string" | |
13586 | } | |
13587 | } | |
13588 | }, | |
13589 | "leaf" : 1, | |
13590 | "path" : "/nodes/{node}/apt/update", | |
13591 | "text" : "update" | |
13592 | }, | |
13593 | { | |
13594 | "info" : { | |
13595 | "GET" : { | |
6bd70b95 | 13596 | "allowtoken" : 1, |
9fda36b0 DM |
13597 | "description" : "Get package changelogs.", |
13598 | "method" : "GET", | |
13599 | "name" : "changelog", | |
13600 | "parameters" : { | |
13601 | "additionalProperties" : 0, | |
13602 | "properties" : { | |
13603 | "name" : { | |
13604 | "description" : "Package name.", | |
13605 | "type" : "string", | |
13606 | "typetext" : "<string>" | |
13607 | }, | |
13608 | "node" : { | |
13609 | "description" : "The cluster node name.", | |
13610 | "format" : "pve-node", | |
13611 | "type" : "string", | |
13612 | "typetext" : "<string>" | |
13613 | }, | |
13614 | "version" : { | |
13615 | "description" : "Package version.", | |
13616 | "optional" : 1, | |
13617 | "type" : "string", | |
13618 | "typetext" : "<string>" | |
13619 | } | |
13620 | } | |
13621 | }, | |
732d76e1 DM |
13622 | "permissions" : { |
13623 | "check" : [ | |
13624 | "admin", | |
13625 | "audit" | |
13626 | ] | |
13627 | }, | |
9fda36b0 DM |
13628 | "proxyto" : "node", |
13629 | "returns" : { | |
13630 | "type" : "string" | |
13631 | } | |
13632 | } | |
13633 | }, | |
13634 | "leaf" : 1, | |
13635 | "path" : "/nodes/{node}/apt/changelog", | |
13636 | "text" : "changelog" | |
13637 | }, | |
13638 | { | |
13639 | "info" : { | |
13640 | "GET" : { | |
6bd70b95 | 13641 | "allowtoken" : 1, |
e0e71e6a | 13642 | "description" : "Get APT repository information.", |
9fda36b0 | 13643 | "method" : "GET", |
e0e71e6a | 13644 | "name" : "repositories", |
9fda36b0 DM |
13645 | "parameters" : { |
13646 | "additionalProperties" : 0, | |
13647 | "properties" : { | |
9fda36b0 DM |
13648 | "node" : { |
13649 | "description" : "The cluster node name.", | |
13650 | "format" : "pve-node", | |
13651 | "type" : "string", | |
13652 | "typetext" : "<string>" | |
9fda36b0 DM |
13653 | } |
13654 | } | |
13655 | }, | |
732d76e1 DM |
13656 | "permissions" : { |
13657 | "check" : [ | |
13658 | "admin", | |
13659 | "audit" | |
13660 | ] | |
13661 | }, | |
9fda36b0 DM |
13662 | "proxyto" : "node", |
13663 | "returns" : { | |
e0e71e6a | 13664 | "description" : "Result from parsing the APT repository files in /etc/apt/.", |
9fda36b0 | 13665 | "properties" : { |
e0e71e6a TL |
13666 | "digest" : { |
13667 | "description" : "Common digest of all files.", | |
9fda36b0 DM |
13668 | "type" : "string" |
13669 | }, | |
e0e71e6a TL |
13670 | "errors" : { |
13671 | "description" : "List of problematic repository files.", | |
13672 | "items" : { | |
13673 | "properties" : { | |
13674 | "error" : { | |
13675 | "description" : "The error message", | |
13676 | "type" : "string" | |
13677 | }, | |
13678 | "path" : { | |
13679 | "description" : "Path to the problematic file.", | |
13680 | "type" : "string" | |
13681 | } | |
13682 | }, | |
13683 | "type" : "object" | |
13684 | }, | |
13685 | "type" : "array" | |
9fda36b0 | 13686 | }, |
e0e71e6a TL |
13687 | "files" : { |
13688 | "description" : "List of parsed repository files.", | |
9fda36b0 | 13689 | "items" : { |
e0e71e6a TL |
13690 | "properties" : { |
13691 | "digest" : { | |
13692 | "description" : "Digest of the file as bytes.", | |
13693 | "items" : { | |
13694 | "type" : "integer" | |
13695 | }, | |
13696 | "type" : "array" | |
13697 | }, | |
13698 | "file-type" : { | |
13699 | "description" : "Format of the file.", | |
13700 | "enum" : [ | |
13701 | "list", | |
13702 | "sources" | |
13703 | ], | |
13704 | "type" : "string" | |
13705 | }, | |
13706 | "path" : { | |
13707 | "description" : "Path to the problematic file.", | |
13708 | "type" : "string" | |
13709 | }, | |
13710 | "repositories" : { | |
13711 | "description" : "The parsed repositories.", | |
13712 | "items" : { | |
13713 | "properties" : { | |
13714 | "Comment" : { | |
13715 | "description" : "Associated comment", | |
13716 | "optional" : 1, | |
13717 | "type" : "string" | |
13718 | }, | |
13719 | "Components" : { | |
13720 | "description" : "List of repository components", | |
13721 | "items" : { | |
13722 | "type" : "string" | |
13723 | }, | |
13724 | "optional" : 1, | |
13725 | "type" : "array" | |
13726 | }, | |
13727 | "Enabled" : { | |
13728 | "description" : "Whether the repository is enabled or not", | |
13729 | "type" : "boolean" | |
13730 | }, | |
13731 | "FileType" : { | |
13732 | "description" : "Format of the defining file.", | |
13733 | "enum" : [ | |
13734 | "list", | |
13735 | "sources" | |
13736 | ], | |
13737 | "type" : "string" | |
13738 | }, | |
13739 | "Options" : { | |
13740 | "description" : "Additional options", | |
13741 | "items" : { | |
13742 | "properties" : { | |
13743 | "Key" : { | |
13744 | "type" : "string" | |
13745 | }, | |
13746 | "Values" : { | |
13747 | "items" : { | |
13748 | "type" : "string" | |
13749 | }, | |
13750 | "type" : "array" | |
13751 | } | |
13752 | }, | |
13753 | "type" : "object" | |
13754 | }, | |
13755 | "optional" : 1, | |
13756 | "type" : "array" | |
13757 | }, | |
13758 | "Suites" : { | |
13759 | "description" : "List of package distribuitions", | |
13760 | "items" : { | |
13761 | "type" : "string" | |
13762 | }, | |
13763 | "type" : "array" | |
13764 | }, | |
13765 | "Types" : { | |
13766 | "description" : "List of package types.", | |
13767 | "items" : { | |
13768 | "enum" : [ | |
13769 | "deb", | |
13770 | "deb-src" | |
13771 | ], | |
13772 | "type" : "string" | |
13773 | }, | |
13774 | "type" : "array" | |
13775 | }, | |
13776 | "URIs" : { | |
13777 | "description" : "List of repository URIs.", | |
13778 | "items" : { | |
13779 | "type" : "string" | |
13780 | }, | |
13781 | "type" : "array" | |
13782 | } | |
13783 | }, | |
13784 | "type" : "object" | |
13785 | }, | |
13786 | "type" : "array" | |
13787 | } | |
13788 | }, | |
13789 | "type" : "object" | |
9fda36b0 DM |
13790 | }, |
13791 | "type" : "array" | |
13792 | }, | |
e0e71e6a TL |
13793 | "infos" : { |
13794 | "description" : "Additional information/warnings for APT repositories.", | |
13795 | "items" : { | |
13796 | "properties" : { | |
13797 | "index" : { | |
13798 | "description" : "Index of the associated repository within the file.", | |
13799 | "type" : "string" | |
13800 | }, | |
13801 | "kind" : { | |
13802 | "description" : "Kind of the information (e.g. warning).", | |
13803 | "type" : "string" | |
13804 | }, | |
13805 | "message" : { | |
13806 | "description" : "Information message.", | |
13807 | "type" : "string" | |
13808 | }, | |
13809 | "path" : { | |
13810 | "description" : "Path to the associated file.", | |
13811 | "type" : "string" | |
13812 | }, | |
13813 | "property" : { | |
13814 | "description" : "Property from which the info originates.", | |
13815 | "optional" : 1, | |
13816 | "type" : "string" | |
13817 | } | |
13818 | }, | |
13819 | "type" : "object" | |
13820 | }, | |
13821 | "type" : "array" | |
9fda36b0 | 13822 | }, |
e0e71e6a TL |
13823 | "standard-repos" : { |
13824 | "description" : "List of standard repositories and their configuration status", | |
13825 | "items" : { | |
13826 | "properties" : { | |
13827 | "description" : { | |
13828 | "description" : "Description of the repository.", | |
13829 | "type" : "string" | |
13830 | }, | |
13831 | "handle" : { | |
13832 | "description" : "Handle to identify the repository.", | |
13833 | "type" : "string" | |
13834 | }, | |
13835 | "name" : { | |
13836 | "description" : "Display name of the repository.", | |
13837 | "type" : "string" | |
13838 | }, | |
13839 | "status" : { | |
13840 | "description" : "Indicating enabled/disabled status, if the repository is configured.", | |
13841 | "optional" : 1, | |
13842 | "type" : "boolean" | |
13843 | } | |
13844 | }, | |
13845 | "type" : "object" | |
13846 | }, | |
13847 | "type" : "array" | |
13848 | } | |
13849 | }, | |
13850 | "type" : "object" | |
13851 | } | |
13852 | }, | |
13853 | "POST" : { | |
13854 | "allowtoken" : 1, | |
13855 | "description" : "Change the properties of a repository. Currently only allows enabling/disabling.", | |
13856 | "method" : "POST", | |
13857 | "name" : "change_repository", | |
13858 | "parameters" : { | |
13859 | "additionalProperties" : 0, | |
13860 | "properties" : { | |
13861 | "digest" : { | |
13862 | "description" : "Digest to detect modifications.", | |
13863 | "maxLength" : 80, | |
9fda36b0 | 13864 | "optional" : 1, |
e0e71e6a TL |
13865 | "type" : "string", |
13866 | "typetext" : "<string>" | |
9fda36b0 | 13867 | }, |
e0e71e6a TL |
13868 | "enabled" : { |
13869 | "description" : "Whether the repository should be enabled or not.", | |
9fda36b0 | 13870 | "optional" : 1, |
e0e71e6a TL |
13871 | "type" : "boolean", |
13872 | "typetext" : "<boolean>" | |
9fda36b0 | 13873 | }, |
e0e71e6a TL |
13874 | "index" : { |
13875 | "description" : "Index within the file (starting from 0).", | |
13876 | "type" : "integer", | |
13877 | "typetext" : "<integer>" | |
9fda36b0 | 13878 | }, |
e0e71e6a TL |
13879 | "node" : { |
13880 | "description" : "The cluster node name.", | |
13881 | "format" : "pve-node", | |
13882 | "type" : "string", | |
13883 | "typetext" : "<string>" | |
13884 | }, | |
13885 | "path" : { | |
13886 | "description" : "Path to the containing file.", | |
13887 | "type" : "string", | |
13888 | "typetext" : "<string>" | |
13889 | } | |
13890 | } | |
13891 | }, | |
13892 | "permissions" : { | |
13893 | "check" : [ | |
13894 | "admin" | |
13895 | ] | |
13896 | }, | |
13897 | "protected" : 1, | |
13898 | "proxyto" : "node", | |
13899 | "returns" : { | |
13900 | "type" : "null" | |
13901 | } | |
13902 | }, | |
13903 | "PUT" : { | |
13904 | "allowtoken" : 1, | |
13905 | "description" : "Add a standard repository to the configuration", | |
13906 | "method" : "PUT", | |
13907 | "name" : "add_repository", | |
13908 | "parameters" : { | |
13909 | "additionalProperties" : 0, | |
13910 | "properties" : { | |
13911 | "digest" : { | |
13912 | "description" : "Digest to detect modifications.", | |
13913 | "maxLength" : 80, | |
9fda36b0 | 13914 | "optional" : 1, |
e0e71e6a TL |
13915 | "type" : "string", |
13916 | "typetext" : "<string>" | |
9fda36b0 | 13917 | }, |
e0e71e6a TL |
13918 | "handle" : { |
13919 | "description" : "Handle that identifies a repository.", | |
13920 | "type" : "string", | |
13921 | "typetext" : "<string>" | |
9fda36b0 | 13922 | }, |
e0e71e6a TL |
13923 | "node" : { |
13924 | "description" : "The cluster node name.", | |
13925 | "format" : "pve-node", | |
13926 | "type" : "string", | |
13927 | "typetext" : "<string>" | |
13928 | } | |
13929 | } | |
13930 | }, | |
13931 | "permissions" : { | |
13932 | "check" : [ | |
13933 | "admin" | |
13934 | ] | |
13935 | }, | |
13936 | "protected" : 1, | |
13937 | "proxyto" : "node", | |
13938 | "returns" : { | |
13939 | "type" : "null" | |
13940 | } | |
13941 | } | |
13942 | }, | |
13943 | "leaf" : 1, | |
13944 | "path" : "/nodes/{node}/apt/repositories", | |
13945 | "text" : "repositories" | |
13946 | }, | |
13947 | { | |
13948 | "info" : { | |
13949 | "GET" : { | |
13950 | "allowtoken" : 1, | |
13951 | "description" : "Get package information for important Proxmox packages.", | |
13952 | "method" : "GET", | |
13953 | "name" : "versions", | |
13954 | "parameters" : { | |
13955 | "additionalProperties" : 0, | |
13956 | "properties" : { | |
13957 | "node" : { | |
13958 | "description" : "The cluster node name.", | |
13959 | "format" : "pve-node", | |
13960 | "type" : "string", | |
13961 | "typetext" : "<string>" | |
9fda36b0 | 13962 | } |
e0e71e6a TL |
13963 | } |
13964 | }, | |
13965 | "permissions" : { | |
13966 | "check" : [ | |
13967 | "admin", | |
13968 | "audit" | |
13969 | ] | |
13970 | }, | |
13971 | "proxyto" : "node", | |
13972 | "returns" : { | |
13973 | "items" : { | |
13974 | "properties" : {}, | |
13975 | "type" : "object" | |
9fda36b0 | 13976 | }, |
e0e71e6a | 13977 | "type" : "array" |
9fda36b0 DM |
13978 | } |
13979 | } | |
13980 | }, | |
13981 | "leaf" : 1, | |
e0e71e6a TL |
13982 | "path" : "/nodes/{node}/apt/versions", |
13983 | "text" : "versions" | |
9fda36b0 DM |
13984 | } |
13985 | ], | |
13986 | "info" : { | |
13987 | "GET" : { | |
6bd70b95 | 13988 | "allowtoken" : 1, |
e0e71e6a | 13989 | "description" : "Directory index for apt (Advanced Package Tool).", |
9fda36b0 | 13990 | "method" : "GET", |
e0e71e6a | 13991 | "name" : "index", |
9fda36b0 DM |
13992 | "parameters" : { |
13993 | "additionalProperties" : 0, | |
13994 | "properties" : { | |
9fda36b0 DM |
13995 | "node" : { |
13996 | "description" : "The cluster node name.", | |
13997 | "format" : "pve-node", | |
13998 | "type" : "string", | |
13999 | "typetext" : "<string>" | |
9fda36b0 DM |
14000 | } |
14001 | } | |
14002 | }, | |
732d76e1 | 14003 | "permissions" : { |
e0e71e6a TL |
14004 | "user" : "all" |
14005 | }, | |
14006 | "returns" : { | |
14007 | "items" : { | |
14008 | "properties" : { | |
14009 | "id" : { | |
14010 | "type" : "string" | |
14011 | } | |
14012 | }, | |
14013 | "type" : "object" | |
14014 | }, | |
14015 | "links" : [ | |
14016 | { | |
14017 | "href" : "{id}", | |
14018 | "rel" : "child" | |
14019 | } | |
14020 | ], | |
14021 | "type" : "array" | |
14022 | } | |
14023 | } | |
14024 | }, | |
14025 | "leaf" : 0, | |
14026 | "path" : "/nodes/{node}/apt", | |
14027 | "text" : "apt" | |
14028 | }, | |
14029 | { | |
14030 | "children" : [ | |
14031 | { | |
14032 | "info" : { | |
14033 | "GET" : { | |
14034 | "allowtoken" : 1, | |
14035 | "description" : "Get the detailed syslog entries for a specific mail ID.", | |
14036 | "method" : "GET", | |
14037 | "name" : "maillog", | |
14038 | "parameters" : { | |
14039 | "additionalProperties" : 0, | |
14040 | "properties" : { | |
14041 | "endtime" : { | |
14042 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
14043 | "minimum" : 1, | |
14044 | "optional" : 1, | |
14045 | "type" : "integer", | |
14046 | "typetext" : "<integer> (1 - N)" | |
14047 | }, | |
14048 | "id" : { | |
14049 | "description" : "Mail ID (as returned by the list API).", | |
14050 | "maxLength" : 64, | |
14051 | "minLength" : 3, | |
14052 | "type" : "string", | |
14053 | "typetext" : "<string>" | |
14054 | }, | |
14055 | "node" : { | |
14056 | "description" : "The cluster node name.", | |
14057 | "format" : "pve-node", | |
14058 | "type" : "string", | |
14059 | "typetext" : "<string>" | |
14060 | }, | |
14061 | "starttime" : { | |
14062 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
14063 | "minimum" : 0, | |
14064 | "optional" : 1, | |
14065 | "type" : "integer", | |
14066 | "typetext" : "<integer> (0 - N)" | |
14067 | } | |
14068 | } | |
14069 | }, | |
14070 | "permissions" : { | |
14071 | "check" : [ | |
14072 | "admin", | |
14073 | "audit" | |
14074 | ] | |
14075 | }, | |
14076 | "protected" : 1, | |
14077 | "proxyto" : "node", | |
14078 | "returns" : { | |
14079 | "properties" : { | |
14080 | "client" : { | |
14081 | "description" : "Client address", | |
14082 | "optional" : 1, | |
14083 | "type" : "string" | |
14084 | }, | |
14085 | "dstatus" : { | |
14086 | "description" : "Delivery status.", | |
14087 | "maxLength" : 1, | |
14088 | "minLength" : 1, | |
14089 | "type" : "string" | |
14090 | }, | |
14091 | "from" : { | |
14092 | "description" : "Sender email address.", | |
14093 | "type" : "string" | |
14094 | }, | |
14095 | "id" : { | |
14096 | "description" : "Unique ID.", | |
14097 | "type" : "string" | |
14098 | }, | |
14099 | "logs" : { | |
14100 | "items" : { | |
14101 | "type" : "string" | |
14102 | }, | |
14103 | "type" : "array" | |
14104 | }, | |
14105 | "msgid" : { | |
14106 | "description" : "SMTP message ID.", | |
14107 | "optional" : 1, | |
14108 | "type" : "string" | |
14109 | }, | |
14110 | "qid" : { | |
14111 | "description" : "Postfix qmgr ID.", | |
14112 | "optional" : 1, | |
14113 | "type" : "string" | |
14114 | }, | |
14115 | "relay" : { | |
14116 | "description" : "ID of relayed mail.", | |
14117 | "optional" : 1, | |
14118 | "type" : "string" | |
14119 | }, | |
14120 | "rstatus" : { | |
14121 | "description" : "Delivery status of relayed mail.", | |
14122 | "maxLength" : 1, | |
14123 | "minLength" : 1, | |
14124 | "optional" : 1, | |
14125 | "type" : "string" | |
14126 | }, | |
14127 | "size" : { | |
14128 | "description" : "The size of the raw email.", | |
14129 | "optional" : 1, | |
14130 | "type" : "number" | |
14131 | }, | |
14132 | "time" : { | |
14133 | "description" : "Delivery timestamp.", | |
14134 | "type" : "integer" | |
14135 | }, | |
14136 | "to" : { | |
14137 | "description" : "Receiver email address.", | |
14138 | "type" : "string" | |
14139 | } | |
14140 | }, | |
14141 | "type" : "object" | |
14142 | } | |
14143 | } | |
14144 | }, | |
14145 | "leaf" : 1, | |
14146 | "path" : "/nodes/{node}/tracker/{id}", | |
14147 | "text" : "{id}" | |
14148 | } | |
14149 | ], | |
14150 | "info" : { | |
14151 | "GET" : { | |
14152 | "allowtoken" : 1, | |
14153 | "description" : "Read mail list.", | |
14154 | "method" : "GET", | |
14155 | "name" : "list_mails", | |
14156 | "parameters" : { | |
14157 | "additionalProperties" : 0, | |
14158 | "properties" : { | |
14159 | "endtime" : { | |
14160 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
14161 | "minimum" : 1, | |
14162 | "optional" : 1, | |
14163 | "type" : "integer", | |
14164 | "typetext" : "<integer> (1 - N)" | |
14165 | }, | |
14166 | "from" : { | |
14167 | "description" : "Sender email address filter.", | |
14168 | "maxLength" : 256, | |
14169 | "minLength" : 1, | |
14170 | "optional" : 1, | |
14171 | "type" : "string", | |
14172 | "typetext" : "<string>" | |
14173 | }, | |
14174 | "greylist" : { | |
14175 | "default" : 0, | |
14176 | "description" : "Include Greylisted entries.", | |
14177 | "optional" : 1, | |
14178 | "type" : "boolean", | |
14179 | "typetext" : "<boolean>" | |
14180 | }, | |
14181 | "ndr" : { | |
14182 | "default" : 0, | |
14183 | "description" : "Include NDRs (non delivery reports).", | |
14184 | "optional" : 1, | |
14185 | "type" : "boolean", | |
14186 | "typetext" : "<boolean>" | |
14187 | }, | |
14188 | "node" : { | |
14189 | "description" : "The cluster node name.", | |
14190 | "format" : "pve-node", | |
14191 | "type" : "string", | |
14192 | "typetext" : "<string>" | |
14193 | }, | |
14194 | "starttime" : { | |
14195 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
14196 | "minimum" : 0, | |
14197 | "optional" : 1, | |
14198 | "type" : "integer", | |
14199 | "typetext" : "<integer> (0 - N)" | |
14200 | }, | |
14201 | "target" : { | |
14202 | "description" : "Receiver email address filter.", | |
14203 | "maxLength" : 256, | |
14204 | "minLength" : 1, | |
14205 | "optional" : 1, | |
14206 | "type" : "string", | |
14207 | "typetext" : "<string>" | |
14208 | }, | |
14209 | "xfilter" : { | |
14210 | "description" : "Only include mails containing this filter string.", | |
14211 | "maxLength" : 256, | |
14212 | "minLength" : 1, | |
14213 | "optional" : 1, | |
14214 | "type" : "string", | |
14215 | "typetext" : "<string>" | |
14216 | } | |
14217 | } | |
14218 | }, | |
14219 | "permissions" : { | |
14220 | "check" : [ | |
732d76e1 DM |
14221 | "admin", |
14222 | "audit" | |
14223 | ] | |
14224 | }, | |
9fda36b0 DM |
14225 | "protected" : 1, |
14226 | "proxyto" : "node", | |
14227 | "returns" : { | |
14228 | "items" : { | |
14229 | "properties" : { | |
14230 | "client" : { | |
14231 | "description" : "Client address", | |
14232 | "optional" : 1, | |
14233 | "type" : "string" | |
14234 | }, | |
14235 | "dstatus" : { | |
14236 | "description" : "Delivery status.", | |
14237 | "maxLength" : 1, | |
14238 | "minLength" : 1, | |
14239 | "type" : "string" | |
14240 | }, | |
14241 | "from" : { | |
14242 | "description" : "Sender email address.", | |
14243 | "type" : "string" | |
14244 | }, | |
14245 | "id" : { | |
14246 | "description" : "Unique ID.", | |
14247 | "type" : "string" | |
14248 | }, | |
14249 | "msgid" : { | |
14250 | "description" : "SMTP message ID.", | |
14251 | "optional" : 1, | |
14252 | "type" : "string" | |
14253 | }, | |
14254 | "qid" : { | |
14255 | "description" : "Postfix qmgr ID.", | |
14256 | "optional" : 1, | |
14257 | "type" : "string" | |
14258 | }, | |
14259 | "relay" : { | |
14260 | "description" : "ID of relayed mail.", | |
14261 | "optional" : 1, | |
14262 | "type" : "string" | |
14263 | }, | |
14264 | "rstatus" : { | |
14265 | "description" : "Delivery status of relayed mail.", | |
14266 | "maxLength" : 1, | |
14267 | "minLength" : 1, | |
14268 | "optional" : 1, | |
14269 | "type" : "string" | |
14270 | }, | |
14271 | "size" : { | |
14272 | "description" : "The size of the raw email.", | |
14273 | "optional" : 1, | |
14274 | "type" : "number" | |
14275 | }, | |
14276 | "time" : { | |
14277 | "description" : "Delivery timestamp.", | |
14278 | "type" : "integer" | |
14279 | }, | |
14280 | "to" : { | |
14281 | "description" : "Receiver email address.", | |
14282 | "type" : "string" | |
14283 | } | |
14284 | }, | |
14285 | "type" : "object" | |
14286 | }, | |
14287 | "links" : [ | |
14288 | { | |
14289 | "href" : "{id}", | |
14290 | "rel" : "child" | |
14291 | } | |
14292 | ], | |
14293 | "type" : "array" | |
14294 | } | |
14295 | } | |
14296 | }, | |
14297 | "leaf" : 0, | |
14298 | "path" : "/nodes/{node}/tracker", | |
14299 | "text" : "tracker" | |
14300 | }, | |
bb6e6e0d DM |
14301 | { |
14302 | "children" : [ | |
14303 | { | |
14304 | "info" : { | |
14305 | "DELETE" : { | |
6bd70b95 | 14306 | "allowtoken" : 1, |
bb6e6e0d DM |
14307 | "description" : "Delete a backup file.", |
14308 | "method" : "DELETE", | |
14309 | "name" : "delete", | |
14310 | "parameters" : { | |
14311 | "additionalProperties" : 0, | |
14312 | "properties" : { | |
14313 | "filename" : { | |
14314 | "description" : "The backup file name.", | |
14315 | "maxLength" : 256, | |
14316 | "minLength" : 4, | |
14317 | "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz", | |
14318 | "type" : "string" | |
14319 | }, | |
c5ccf1ab TL |
14320 | "node" : { |
14321 | "description" : "The cluster node name.", | |
14322 | "format" : "pve-node", | |
14323 | "type" : "string", | |
14324 | "typetext" : "<string>" | |
14325 | } | |
14326 | } | |
14327 | }, | |
14328 | "permissions" : { | |
14329 | "check" : [ | |
14330 | "admin" | |
14331 | ] | |
14332 | }, | |
14333 | "protected" : 1, | |
14334 | "proxyto" : "node", | |
14335 | "returns" : { | |
14336 | "type" : "null" | |
14337 | } | |
14338 | }, | |
14339 | "GET" : { | |
14340 | "allowtoken" : 1, | |
14341 | "description" : "Download a backup file.", | |
14342 | "download" : 1, | |
14343 | "method" : "GET", | |
14344 | "name" : "download", | |
14345 | "parameters" : { | |
14346 | "additionalProperties" : 0, | |
14347 | "properties" : { | |
14348 | "filename" : { | |
14349 | "description" : "The backup file name.", | |
14350 | "maxLength" : 256, | |
14351 | "minLength" : 4, | |
14352 | "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz", | |
14353 | "type" : "string" | |
14354 | }, | |
14355 | "node" : { | |
14356 | "description" : "The cluster node name.", | |
14357 | "format" : "pve-node", | |
14358 | "type" : "string", | |
14359 | "typetext" : "<string>" | |
14360 | } | |
14361 | } | |
14362 | }, | |
14363 | "permissions" : { | |
14364 | "check" : [ | |
14365 | "admin" | |
14366 | ] | |
14367 | }, | |
14368 | "protected" : 1, | |
14369 | "proxyto" : "node", | |
14370 | "returns" : { | |
14371 | "type" : "string" | |
14372 | } | |
14373 | }, | |
14374 | "POST" : { | |
14375 | "allowtoken" : 1, | |
14376 | "description" : "Restore the system configuration.", | |
14377 | "method" : "POST", | |
14378 | "name" : "restore", | |
14379 | "parameters" : { | |
14380 | "additionalProperties" : 0, | |
14381 | "properties" : { | |
14382 | "config" : { | |
14383 | "default" : 0, | |
14384 | "description" : "Restore system configuration.", | |
14385 | "optional" : 1, | |
14386 | "type" : "boolean", | |
14387 | "typetext" : "<boolean>" | |
14388 | }, | |
14389 | "database" : { | |
14390 | "default" : 1, | |
14391 | "description" : "Restore the rule database. This is the default.", | |
14392 | "optional" : 1, | |
14393 | "type" : "boolean", | |
14394 | "typetext" : "<boolean>" | |
14395 | }, | |
14396 | "filename" : { | |
14397 | "description" : "The backup file name.", | |
14398 | "maxLength" : 256, | |
14399 | "minLength" : 4, | |
14400 | "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz", | |
14401 | "type" : "string" | |
14402 | }, | |
14403 | "node" : { | |
14404 | "description" : "The cluster node name.", | |
14405 | "format" : "pve-node", | |
14406 | "type" : "string", | |
14407 | "typetext" : "<string>" | |
14408 | }, | |
14409 | "statistic" : { | |
14410 | "default" : 0, | |
14411 | "description" : "Restore statistic databases. Only considered when you restore the 'database'.", | |
14412 | "optional" : 1, | |
14413 | "type" : "boolean", | |
14414 | "typetext" : "<boolean>" | |
14415 | } | |
14416 | } | |
14417 | }, | |
14418 | "permissions" : { | |
14419 | "check" : [ | |
14420 | "admin" | |
14421 | ] | |
14422 | }, | |
14423 | "protected" : 1, | |
14424 | "proxyto" : "node", | |
14425 | "returns" : { | |
14426 | "type" : "string" | |
14427 | } | |
14428 | } | |
14429 | }, | |
14430 | "leaf" : 1, | |
14431 | "path" : "/nodes/{node}/backup/{filename}", | |
14432 | "text" : "{filename}" | |
14433 | } | |
14434 | ], | |
14435 | "info" : { | |
14436 | "GET" : { | |
14437 | "allowtoken" : 1, | |
14438 | "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).", | |
14439 | "method" : "GET", | |
14440 | "name" : "list", | |
14441 | "parameters" : { | |
14442 | "additionalProperties" : 0, | |
14443 | "properties" : { | |
14444 | "node" : { | |
14445 | "description" : "The cluster node name.", | |
14446 | "format" : "pve-node", | |
14447 | "type" : "string", | |
14448 | "typetext" : "<string>" | |
14449 | } | |
14450 | } | |
14451 | }, | |
14452 | "permissions" : { | |
14453 | "check" : [ | |
14454 | "admin", | |
14455 | "audit" | |
14456 | ] | |
14457 | }, | |
14458 | "protected" : 1, | |
14459 | "proxyto" : "node", | |
14460 | "returns" : { | |
14461 | "items" : { | |
14462 | "properties" : { | |
14463 | "filename" : { | |
14464 | "description" : "The backup file name.", | |
14465 | "maxLength" : 256, | |
14466 | "minLength" : 4, | |
14467 | "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz", | |
14468 | "type" : "string" | |
14469 | }, | |
14470 | "size" : { | |
14471 | "description" : "Size of backup file in bytes.", | |
14472 | "type" : "integer" | |
14473 | }, | |
14474 | "timestamp" : { | |
14475 | "description" : "Backup timestamp (Unix epoch).", | |
14476 | "type" : "integer" | |
14477 | } | |
14478 | }, | |
14479 | "type" : "object" | |
14480 | }, | |
14481 | "links" : [ | |
14482 | { | |
14483 | "href" : "{filename}", | |
14484 | "rel" : "child" | |
14485 | } | |
14486 | ], | |
14487 | "type" : "array" | |
14488 | } | |
14489 | }, | |
14490 | "POST" : { | |
14491 | "allowtoken" : 1, | |
14492 | "description" : "Backup the system configuration.", | |
14493 | "method" : "POST", | |
14494 | "name" : "backup", | |
14495 | "parameters" : { | |
14496 | "additionalProperties" : 0, | |
14497 | "properties" : { | |
14498 | "node" : { | |
14499 | "description" : "The cluster node name.", | |
14500 | "format" : "pve-node", | |
14501 | "type" : "string", | |
14502 | "typetext" : "<string>" | |
14503 | }, | |
14504 | "notify" : { | |
14505 | "default" : "never", | |
14506 | "description" : "Specify when to notify via e-mail", | |
14507 | "enum" : [ | |
14508 | "always", | |
14509 | "error", | |
14510 | "never" | |
14511 | ], | |
14512 | "optional" : 1, | |
14513 | "type" : "string" | |
14514 | }, | |
14515 | "statistic" : { | |
14516 | "default" : 1, | |
14517 | "description" : "Backup statistic databases.", | |
14518 | "optional" : 1, | |
14519 | "type" : "boolean", | |
14520 | "typetext" : "<boolean>" | |
14521 | } | |
14522 | } | |
14523 | }, | |
14524 | "permissions" : { | |
14525 | "check" : [ | |
14526 | "admin" | |
14527 | ] | |
14528 | }, | |
14529 | "protected" : 1, | |
14530 | "proxyto" : "node", | |
14531 | "returns" : { | |
14532 | "type" : "string" | |
14533 | } | |
14534 | } | |
14535 | }, | |
14536 | "leaf" : 0, | |
14537 | "path" : "/nodes/{node}/backup", | |
14538 | "text" : "backup" | |
14539 | }, | |
14540 | { | |
14541 | "children" : [ | |
14542 | { | |
14543 | "children" : [ | |
14544 | { | |
14545 | "children" : [ | |
14546 | { | |
14547 | "children" : [ | |
14548 | { | |
14549 | "info" : { | |
14550 | "DELETE" : { | |
14551 | "allowtoken" : 1, | |
14552 | "description" : "Forget a snapshot", | |
14553 | "method" : "DELETE", | |
14554 | "name" : "forget_snapshot", | |
14555 | "parameters" : { | |
14556 | "additionalProperties" : 0, | |
14557 | "properties" : { | |
14558 | "backup-id" : { | |
14559 | "description" : "ID (hostname) of backup snapshot", | |
14560 | "type" : "string", | |
14561 | "typetext" : "<string>" | |
14562 | }, | |
14563 | "backup-time" : { | |
14564 | "description" : "Backup time in RFC 3339 format", | |
14565 | "type" : "string", | |
14566 | "typetext" : "<string>" | |
14567 | }, | |
14568 | "node" : { | |
14569 | "description" : "The cluster node name.", | |
14570 | "format" : "pve-node", | |
14571 | "type" : "string", | |
14572 | "typetext" : "<string>" | |
14573 | }, | |
14574 | "remote" : { | |
14575 | "description" : "Proxmox Backup Server ID.", | |
14576 | "format" : "pve-configid", | |
14577 | "type" : "string", | |
14578 | "typetext" : "<string>" | |
14579 | } | |
14580 | } | |
14581 | }, | |
14582 | "permissions" : { | |
14583 | "check" : [ | |
14584 | "admin", | |
14585 | "audit" | |
14586 | ] | |
14587 | }, | |
14588 | "protected" : 1, | |
14589 | "proxyto" : "node", | |
14590 | "returns" : { | |
14591 | "type" : "null" | |
14592 | } | |
14593 | }, | |
14594 | "POST" : { | |
14595 | "allowtoken" : 1, | |
14596 | "description" : "Restore the system configuration.", | |
14597 | "method" : "POST", | |
14598 | "name" : "restore", | |
14599 | "parameters" : { | |
14600 | "additionalProperties" : 0, | |
14601 | "properties" : { | |
14602 | "backup-id" : { | |
14603 | "description" : "backup-id (hostname) of backup snapshot", | |
14604 | "type" : "string", | |
14605 | "typetext" : "<string>" | |
14606 | }, | |
14607 | "backup-time" : { | |
14608 | "description" : "backup-time to restore", | |
14609 | "type" : "string", | |
14610 | "typetext" : "<string>" | |
14611 | }, | |
14612 | "config" : { | |
14613 | "default" : 0, | |
14614 | "description" : "Restore system configuration.", | |
14615 | "optional" : 1, | |
14616 | "type" : "boolean", | |
14617 | "typetext" : "<boolean>" | |
14618 | }, | |
14619 | "database" : { | |
14620 | "default" : 1, | |
14621 | "description" : "Restore the rule database. This is the default.", | |
14622 | "optional" : 1, | |
14623 | "type" : "boolean", | |
14624 | "typetext" : "<boolean>" | |
14625 | }, | |
14626 | "node" : { | |
14627 | "description" : "The cluster node name.", | |
14628 | "format" : "pve-node", | |
14629 | "type" : "string", | |
14630 | "typetext" : "<string>" | |
14631 | }, | |
14632 | "remote" : { | |
14633 | "description" : "Proxmox Backup Server ID.", | |
14634 | "format" : "pve-configid", | |
14635 | "type" : "string", | |
14636 | "typetext" : "<string>" | |
14637 | }, | |
14638 | "statistic" : { | |
14639 | "default" : 0, | |
14640 | "description" : "Restore statistic databases. Only considered when you restore the 'database'.", | |
14641 | "optional" : 1, | |
14642 | "type" : "boolean", | |
14643 | "typetext" : "<boolean>" | |
14644 | } | |
14645 | } | |
14646 | }, | |
14647 | "permissions" : { | |
14648 | "check" : [ | |
14649 | "admin" | |
14650 | ] | |
14651 | }, | |
14652 | "protected" : 1, | |
14653 | "proxyto" : "node", | |
14654 | "returns" : { | |
14655 | "type" : "string" | |
14656 | } | |
14657 | } | |
14658 | }, | |
14659 | "leaf" : 1, | |
14660 | "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}", | |
14661 | "text" : "{backup-time}" | |
14662 | } | |
14663 | ], | |
14664 | "info" : { | |
14665 | "GET" : { | |
14666 | "allowtoken" : 1, | |
14667 | "description" : "Get snapshots from a specific ID stored on remote.", | |
14668 | "method" : "GET", | |
14669 | "name" : "get_group_snapshots", | |
14670 | "parameters" : { | |
14671 | "additionalProperties" : 0, | |
14672 | "properties" : { | |
14673 | "backup-id" : { | |
14674 | "description" : "ID (hostname) of backup snapshot", | |
14675 | "type" : "string", | |
14676 | "typetext" : "<string>" | |
14677 | }, | |
14678 | "node" : { | |
14679 | "description" : "The cluster node name.", | |
14680 | "format" : "pve-node", | |
14681 | "type" : "string", | |
14682 | "typetext" : "<string>" | |
14683 | }, | |
14684 | "remote" : { | |
14685 | "description" : "Proxmox Backup Server ID.", | |
14686 | "format" : "pve-configid", | |
14687 | "type" : "string", | |
14688 | "typetext" : "<string>" | |
14689 | } | |
14690 | } | |
14691 | }, | |
14692 | "permissions" : { | |
14693 | "check" : [ | |
14694 | "admin", | |
14695 | "audit" | |
14696 | ] | |
14697 | }, | |
14698 | "protected" : 1, | |
14699 | "proxyto" : "node", | |
14700 | "returns" : { | |
14701 | "items" : { | |
14702 | "properties" : { | |
14703 | "backup-id" : { | |
14704 | "type" : "string" | |
14705 | }, | |
14706 | "backup-time" : { | |
14707 | "type" : "string" | |
14708 | }, | |
14709 | "ctime" : { | |
14710 | "type" : "string" | |
14711 | }, | |
14712 | "size" : { | |
14713 | "type" : "integer" | |
14714 | } | |
14715 | }, | |
14716 | "type" : "object" | |
14717 | }, | |
14718 | "links" : [ | |
14719 | { | |
14720 | "href" : "{backup-time}", | |
14721 | "rel" : "child" | |
14722 | } | |
14723 | ], | |
14724 | "type" : "array" | |
14725 | } | |
14726 | } | |
14727 | }, | |
14728 | "leaf" : 0, | |
14729 | "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}", | |
14730 | "text" : "{backup-id}" | |
14731 | } | |
14732 | ], | |
14733 | "info" : { | |
14734 | "GET" : { | |
14735 | "allowtoken" : 1, | |
14736 | "description" : "Get snapshots stored on remote.", | |
14737 | "method" : "GET", | |
14738 | "name" : "get_snapshots", | |
14739 | "parameters" : { | |
14740 | "additionalProperties" : 0, | |
14741 | "properties" : { | |
14742 | "node" : { | |
14743 | "description" : "The cluster node name.", | |
14744 | "format" : "pve-node", | |
14745 | "type" : "string", | |
14746 | "typetext" : "<string>" | |
14747 | }, | |
14748 | "remote" : { | |
14749 | "description" : "Proxmox Backup Server ID.", | |
14750 | "format" : "pve-configid", | |
14751 | "type" : "string", | |
14752 | "typetext" : "<string>" | |
14753 | } | |
14754 | } | |
14755 | }, | |
14756 | "permissions" : { | |
14757 | "check" : [ | |
14758 | "admin", | |
14759 | "audit" | |
14760 | ] | |
14761 | }, | |
14762 | "protected" : 1, | |
14763 | "proxyto" : "node", | |
14764 | "returns" : { | |
14765 | "items" : { | |
14766 | "properties" : { | |
14767 | "backup-id" : { | |
14768 | "type" : "string" | |
14769 | }, | |
14770 | "backup-time" : { | |
14771 | "type" : "string" | |
14772 | }, | |
14773 | "ctime" : { | |
14774 | "type" : "string" | |
14775 | }, | |
14776 | "size" : { | |
14777 | "type" : "integer" | |
14778 | } | |
14779 | }, | |
14780 | "type" : "object" | |
14781 | }, | |
14782 | "links" : [ | |
14783 | { | |
14784 | "href" : "{backup-id}", | |
14785 | "rel" : "child" | |
14786 | } | |
14787 | ], | |
14788 | "type" : "array" | |
14789 | } | |
14790 | }, | |
14791 | "POST" : { | |
14792 | "allowtoken" : 1, | |
14793 | "description" : "Create a new backup and prune the backup group afterwards, if configured.", | |
14794 | "method" : "POST", | |
14795 | "name" : "run_backup", | |
14796 | "parameters" : { | |
14797 | "additionalProperties" : 0, | |
14798 | "properties" : { | |
14799 | "node" : { | |
14800 | "description" : "The cluster node name.", | |
14801 | "format" : "pve-node", | |
14802 | "type" : "string", | |
14803 | "typetext" : "<string>" | |
14804 | }, | |
14805 | "notify" : { | |
14806 | "default" : "never", | |
14807 | "description" : "Specify when to notify via e-mail", | |
14808 | "enum" : [ | |
14809 | "always", | |
14810 | "error", | |
14811 | "never" | |
14812 | ], | |
14813 | "optional" : 1, | |
14814 | "type" : "string" | |
14815 | }, | |
14816 | "remote" : { | |
14817 | "description" : "Proxmox Backup Server ID.", | |
14818 | "format" : "pve-configid", | |
14819 | "type" : "string", | |
14820 | "typetext" : "<string>" | |
14821 | }, | |
14822 | "statistic" : { | |
14823 | "default" : 1, | |
14824 | "description" : "Backup statistic databases.", | |
14825 | "optional" : 1, | |
14826 | "type" : "boolean", | |
14827 | "typetext" : "<boolean>" | |
14828 | } | |
14829 | } | |
14830 | }, | |
14831 | "permissions" : { | |
14832 | "check" : [ | |
14833 | "admin", | |
14834 | "audit" | |
14835 | ] | |
14836 | }, | |
14837 | "protected" : 1, | |
14838 | "proxyto" : "node", | |
14839 | "returns" : { | |
14840 | "type" : "string" | |
14841 | } | |
14842 | } | |
14843 | }, | |
14844 | "leaf" : 0, | |
14845 | "path" : "/nodes/{node}/pbs/{remote}/snapshot", | |
14846 | "text" : "snapshot" | |
14847 | }, | |
14848 | { | |
14849 | "info" : { | |
14850 | "DELETE" : { | |
14851 | "allowtoken" : 1, | |
14852 | "description" : "Delete backup schedule", | |
14853 | "method" : "DELETE", | |
14854 | "name" : "delete_timer", | |
14855 | "parameters" : { | |
14856 | "additionalProperties" : 0, | |
14857 | "properties" : { | |
14858 | "node" : { | |
14859 | "description" : "The cluster node name.", | |
14860 | "format" : "pve-node", | |
14861 | "type" : "string", | |
14862 | "typetext" : "<string>" | |
14863 | }, | |
14864 | "remote" : { | |
14865 | "description" : "Proxmox Backup Server ID.", | |
14866 | "format" : "pve-configid", | |
14867 | "type" : "string", | |
14868 | "typetext" : "<string>" | |
14869 | } | |
14870 | } | |
14871 | }, | |
14872 | "permissions" : { | |
14873 | "check" : [ | |
14874 | "admin", | |
14875 | "audit" | |
14876 | ] | |
14877 | }, | |
14878 | "protected" : 1, | |
14879 | "proxyto" : "node", | |
14880 | "returns" : { | |
14881 | "type" : "null" | |
14882 | } | |
14883 | }, | |
14884 | "GET" : { | |
14885 | "allowtoken" : 1, | |
14886 | "description" : "Get timer specification", | |
14887 | "method" : "GET", | |
14888 | "name" : "list_timer", | |
14889 | "parameters" : { | |
14890 | "additionalProperties" : 0, | |
14891 | "properties" : { | |
14892 | "node" : { | |
14893 | "description" : "The cluster node name.", | |
14894 | "format" : "pve-node", | |
14895 | "type" : "string", | |
14896 | "typetext" : "<string>" | |
14897 | }, | |
14898 | "remote" : { | |
14899 | "description" : "Proxmox Backup Server ID.", | |
14900 | "format" : "pve-configid", | |
14901 | "type" : "string", | |
14902 | "typetext" : "<string>" | |
14903 | } | |
14904 | } | |
14905 | }, | |
14906 | "permissions" : { | |
14907 | "check" : [ | |
14908 | "admin", | |
14909 | "audit" | |
14910 | ] | |
14911 | }, | |
14912 | "protected" : 1, | |
14913 | "proxyto" : "node", | |
14914 | "returns" : { | |
14915 | "properties" : { | |
14916 | "delay" : { | |
14917 | "default" : "5min", | |
14918 | "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)", | |
14919 | "optional" : 1, | |
14920 | "pattern" : "[0-9a-zA-Z. ]+", | |
14921 | "type" : "string" | |
14922 | }, | |
14923 | "next-run" : { | |
14924 | "description" : "The date time of the next run, in server locale.", | |
14925 | "optional" : 1, | |
14926 | "type" : "string" | |
14927 | }, | |
14928 | "remote" : { | |
14929 | "description" : "Proxmox Backup Server remote ID.", | |
14930 | "format" : "pve-configid", | |
14931 | "optional" : 1, | |
14932 | "type" : "string" | |
14933 | }, | |
14934 | "schedule" : { | |
14935 | "default" : "daily", | |
14936 | "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)", | |
14937 | "optional" : 1, | |
14938 | "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+", | |
14939 | "type" : "string" | |
14940 | }, | |
14941 | "unitfile" : { | |
14942 | "description" : "unit file for the systemd.timer unit", | |
14943 | "optional" : 1, | |
14944 | "type" : "string" | |
14945 | } | |
14946 | }, | |
14947 | "type" : "object" | |
14948 | } | |
14949 | }, | |
14950 | "POST" : { | |
14951 | "allowtoken" : 1, | |
14952 | "description" : "Create backup schedule", | |
14953 | "method" : "POST", | |
14954 | "name" : "create_timer", | |
14955 | "parameters" : { | |
14956 | "additionalProperties" : 0, | |
14957 | "properties" : { | |
14958 | "delay" : { | |
14959 | "default" : "5min", | |
14960 | "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)", | |
14961 | "optional" : 1, | |
14962 | "pattern" : "[0-9a-zA-Z. ]+", | |
14963 | "type" : "string" | |
14964 | }, | |
14965 | "node" : { | |
14966 | "description" : "The cluster node name.", | |
14967 | "format" : "pve-node", | |
14968 | "type" : "string", | |
14969 | "typetext" : "<string>" | |
14970 | }, | |
14971 | "remote" : { | |
14972 | "description" : "Proxmox Backup Server ID.", | |
14973 | "format" : "pve-configid", | |
14974 | "type" : "string", | |
14975 | "typetext" : "<string>" | |
14976 | }, | |
14977 | "schedule" : { | |
14978 | "default" : "daily", | |
14979 | "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)", | |
14980 | "optional" : 1, | |
14981 | "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+", | |
14982 | "type" : "string" | |
14983 | } | |
14984 | } | |
14985 | }, | |
14986 | "permissions" : { | |
14987 | "check" : [ | |
14988 | "admin", | |
14989 | "audit" | |
14990 | ] | |
14991 | }, | |
14992 | "protected" : 1, | |
14993 | "proxyto" : "node", | |
14994 | "returns" : { | |
14995 | "type" : "null" | |
ab2b846b TL |
14996 | } |
14997 | } | |
14998 | }, | |
c5ccf1ab TL |
14999 | "leaf" : 1, |
15000 | "path" : "/nodes/{node}/pbs/{remote}/timer", | |
15001 | "text" : "timer" | |
15002 | } | |
15003 | ], | |
15004 | "info" : { | |
ab2b846b TL |
15005 | "GET" : { |
15006 | "allowtoken" : 1, | |
c5ccf1ab | 15007 | "description" : "Backup Job index.", |
ab2b846b | 15008 | "method" : "GET", |
c5ccf1ab | 15009 | "name" : "remote_index", |
ab2b846b TL |
15010 | "parameters" : { |
15011 | "additionalProperties" : 0, | |
15012 | "properties" : { | |
ab2b846b TL |
15013 | "node" : { |
15014 | "description" : "The cluster node name.", | |
15015 | "format" : "pve-node", | |
15016 | "type" : "string", | |
15017 | "typetext" : "<string>" | |
ab2b846b | 15018 | }, |
c5ccf1ab TL |
15019 | "remote" : { |
15020 | "description" : "Proxmox Backup Server ID.", | |
15021 | "format" : "pve-configid", | |
ab2b846b TL |
15022 | "type" : "string", |
15023 | "typetext" : "<string>" | |
ab2b846b TL |
15024 | } |
15025 | } | |
15026 | }, | |
ab2b846b | 15027 | "returns" : { |
c5ccf1ab TL |
15028 | "items" : { |
15029 | "properties" : { | |
15030 | "section" : { | |
15031 | "type" : "string" | |
15032 | } | |
15033 | }, | |
15034 | "type" : "object" | |
15035 | }, | |
15036 | "links" : [ | |
15037 | { | |
15038 | "href" : "{section}", | |
15039 | "rel" : "child" | |
15040 | } | |
15041 | ], | |
15042 | "type" : "array" | |
ab2b846b TL |
15043 | } |
15044 | } | |
15045 | }, | |
c5ccf1ab TL |
15046 | "leaf" : 0, |
15047 | "path" : "/nodes/{node}/pbs/{remote}", | |
15048 | "text" : "{remote}" | |
ab2b846b TL |
15049 | } |
15050 | ], | |
15051 | "info" : { | |
15052 | "GET" : { | |
15053 | "allowtoken" : 1, | |
c5ccf1ab | 15054 | "description" : "List all configured Proxmox Backup Server jobs.", |
ab2b846b TL |
15055 | "method" : "GET", |
15056 | "name" : "list", | |
15057 | "parameters" : { | |
15058 | "additionalProperties" : 0, | |
15059 | "properties" : { | |
c5ccf1ab TL |
15060 | "node" : { |
15061 | "description" : "The cluster node name.", | |
15062 | "format" : "pve-node", | |
15063 | "type" : "string", | |
15064 | "typetext" : "<string>" | |
ab2b846b TL |
15065 | } |
15066 | } | |
15067 | }, | |
15068 | "permissions" : { | |
15069 | "check" : [ | |
c5ccf1ab TL |
15070 | "admin", |
15071 | "audit" | |
ab2b846b TL |
15072 | ] |
15073 | }, | |
15074 | "protected" : 1, | |
15075 | "proxyto" : "node", | |
15076 | "returns" : { | |
c5ccf1ab TL |
15077 | "items" : { |
15078 | "additionalProperties" : 0, | |
15079 | "properties" : { | |
15080 | "datastore" : { | |
15081 | "description" : "Proxmox Backup Server datastore name.", | |
15082 | "optional" : 0, | |
0b9926d3 | 15083 | "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)", |
c5ccf1ab TL |
15084 | "type" : "string" |
15085 | }, | |
15086 | "disable" : { | |
15087 | "description" : "Flag to disable (deactivate) the entry.", | |
15088 | "optional" : 1, | |
15089 | "type" : "boolean" | |
15090 | }, | |
15091 | "fingerprint" : { | |
15092 | "description" : "Certificate SHA 256 fingerprint.", | |
15093 | "optional" : 1, | |
15094 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
15095 | "type" : "string" | |
15096 | }, | |
15097 | "include-statistics" : { | |
15098 | "description" : "Include statistics in scheduled backups", | |
15099 | "optional" : 1, | |
15100 | "type" : "boolean" | |
15101 | }, | |
15102 | "keep-daily" : { | |
15103 | "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.", | |
15104 | "format_description" : "N", | |
15105 | "minimum" : "0", | |
15106 | "optional" : 1, | |
15107 | "type" : "integer" | |
15108 | }, | |
15109 | "keep-hourly" : { | |
15110 | "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.", | |
15111 | "format_description" : "N", | |
15112 | "minimum" : "0", | |
15113 | "optional" : 1, | |
15114 | "type" : "integer" | |
15115 | }, | |
15116 | "keep-last" : { | |
15117 | "description" : "Keep the last <N> backups.", | |
15118 | "format_description" : "N", | |
15119 | "minimum" : "0", | |
15120 | "optional" : 1, | |
15121 | "type" : "integer" | |
15122 | }, | |
15123 | "keep-monthly" : { | |
15124 | "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.", | |
15125 | "format_description" : "N", | |
15126 | "minimum" : "0", | |
15127 | "optional" : 1, | |
15128 | "type" : "integer" | |
15129 | }, | |
15130 | "keep-weekly" : { | |
15131 | "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.", | |
15132 | "format_description" : "N", | |
15133 | "minimum" : "0", | |
15134 | "optional" : 1, | |
15135 | "type" : "integer" | |
15136 | }, | |
15137 | "keep-yearly" : { | |
15138 | "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.", | |
15139 | "format_description" : "N", | |
15140 | "minimum" : "0", | |
15141 | "optional" : 1, | |
15142 | "type" : "integer" | |
15143 | }, | |
0b9926d3 TL |
15144 | "namespace" : { |
15145 | "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.", | |
15146 | "maxLength" : 256, | |
15147 | "optional" : 1, | |
15148 | "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?", | |
15149 | "type" : "string" | |
15150 | }, | |
c5ccf1ab TL |
15151 | "notify" : { |
15152 | "description" : "Specify when to notify via e-mail", | |
15153 | "enum" : [ | |
15154 | "always", | |
15155 | "error", | |
15156 | "never" | |
ab2b846b | 15157 | ], |
c5ccf1ab TL |
15158 | "optional" : 1, |
15159 | "type" : "string" | |
15160 | }, | |
15161 | "password" : { | |
15162 | "description" : "Password or API token secret for the user on the Proxmox Backup Server.", | |
15163 | "optional" : 1, | |
15164 | "type" : "string" | |
15165 | }, | |
15166 | "remote" : { | |
15167 | "description" : "Proxmox Backup Server ID.", | |
15168 | "format" : "pve-configid", | |
15169 | "type" : "string" | |
15170 | }, | |
15171 | "server" : { | |
15172 | "description" : "Proxmox Backup Server address.", | |
15173 | "format" : "address", | |
15174 | "maxLength" : 256, | |
15175 | "optional" : 0, | |
15176 | "type" : "string" | |
15177 | }, | |
15178 | "username" : { | |
15179 | "description" : "Username or API token ID on the Proxmox Backup Server", | |
15180 | "maxLength" : 512, | |
15181 | "minLength" : 3, | |
15182 | "optional" : 1, | |
15183 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", | |
15184 | "type" : "string" | |
15185 | } | |
15186 | }, | |
15187 | "type" : "object" | |
15188 | }, | |
15189 | "links" : [ | |
15190 | { | |
15191 | "href" : "{remote}", | |
15192 | "rel" : "child" | |
15193 | } | |
15194 | ], | |
15195 | "type" : "array" | |
15196 | } | |
15197 | } | |
15198 | }, | |
15199 | "leaf" : 0, | |
15200 | "path" : "/nodes/{node}/pbs", | |
15201 | "text" : "pbs" | |
15202 | }, | |
15203 | { | |
15204 | "children" : [ | |
15205 | { | |
15206 | "info" : { | |
15207 | "GET" : { | |
15208 | "allowtoken" : 1, | |
15209 | "description" : "Get information about the node's certificates.", | |
15210 | "method" : "GET", | |
15211 | "name" : "info", | |
15212 | "parameters" : { | |
15213 | "additionalProperties" : 0, | |
15214 | "properties" : { | |
15215 | "node" : { | |
15216 | "description" : "The cluster node name.", | |
15217 | "format" : "pve-node", | |
15218 | "type" : "string", | |
15219 | "typetext" : "<string>" | |
15220 | } | |
15221 | } | |
15222 | }, | |
15223 | "permissions" : { | |
15224 | "user" : "all" | |
15225 | }, | |
15226 | "protected" : 1, | |
15227 | "proxyto" : "node", | |
15228 | "returns" : { | |
15229 | "items" : { | |
15230 | "properties" : { | |
15231 | "filename" : { | |
15232 | "optional" : 1, | |
15233 | "type" : "string" | |
15234 | }, | |
15235 | "fingerprint" : { | |
15236 | "description" : "Certificate SHA 256 fingerprint.", | |
15237 | "optional" : 1, | |
15238 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
15239 | "type" : "string" | |
15240 | }, | |
15241 | "issuer" : { | |
15242 | "description" : "Certificate issuer name.", | |
15243 | "optional" : 1, | |
15244 | "type" : "string" | |
15245 | }, | |
15246 | "notafter" : { | |
15247 | "description" : "Certificate's notAfter timestamp (UNIX epoch).", | |
15248 | "optional" : 1, | |
15249 | "renderer" : "timestamp", | |
15250 | "type" : "integer" | |
15251 | }, | |
15252 | "notbefore" : { | |
15253 | "description" : "Certificate's notBefore timestamp (UNIX epoch).", | |
15254 | "optional" : 1, | |
15255 | "renderer" : "timestamp", | |
15256 | "type" : "integer" | |
15257 | }, | |
15258 | "pem" : { | |
15259 | "description" : "Certificate in PEM format", | |
15260 | "format" : "pem-certificate", | |
15261 | "optional" : 1, | |
15262 | "type" : "string" | |
15263 | }, | |
15264 | "public-key-bits" : { | |
15265 | "description" : "Certificate's public key size", | |
15266 | "optional" : 1, | |
15267 | "type" : "integer" | |
15268 | }, | |
15269 | "public-key-type" : { | |
15270 | "description" : "Certificate's public key algorithm", | |
15271 | "optional" : 1, | |
15272 | "type" : "string" | |
15273 | }, | |
15274 | "san" : { | |
15275 | "description" : "List of Certificate's SubjectAlternativeName entries.", | |
15276 | "items" : { | |
15277 | "type" : "string" | |
ab2b846b | 15278 | }, |
c5ccf1ab TL |
15279 | "optional" : 1, |
15280 | "renderer" : "yaml", | |
15281 | "type" : "array" | |
15282 | }, | |
15283 | "subject" : { | |
15284 | "description" : "Certificate subject name.", | |
15285 | "optional" : 1, | |
15286 | "type" : "string" | |
ab2b846b TL |
15287 | } |
15288 | }, | |
c5ccf1ab TL |
15289 | "type" : "object" |
15290 | }, | |
15291 | "type" : "array" | |
15292 | } | |
15293 | } | |
15294 | }, | |
15295 | "leaf" : 1, | |
15296 | "path" : "/nodes/{node}/certificates/info", | |
15297 | "text" : "info" | |
15298 | }, | |
15299 | { | |
15300 | "children" : [ | |
15301 | { | |
ab2b846b | 15302 | "info" : { |
c5ccf1ab | 15303 | "DELETE" : { |
ab2b846b | 15304 | "allowtoken" : 1, |
c5ccf1ab TL |
15305 | "description" : "DELETE custom certificate chain and key.", |
15306 | "method" : "DELETE", | |
15307 | "name" : "remove_custom_cert", | |
ab2b846b TL |
15308 | "parameters" : { |
15309 | "additionalProperties" : 0, | |
15310 | "properties" : { | |
15311 | "node" : { | |
15312 | "description" : "The cluster node name.", | |
15313 | "format" : "pve-node", | |
15314 | "type" : "string", | |
15315 | "typetext" : "<string>" | |
15316 | }, | |
c5ccf1ab TL |
15317 | "restart" : { |
15318 | "default" : 0, | |
15319 | "description" : "Restart pmgproxy.", | |
15320 | "optional" : 1, | |
15321 | "type" : "boolean", | |
15322 | "typetext" : "<boolean>" | |
15323 | }, | |
15324 | "type" : { | |
15325 | "description" : "The TLS certificate type (API or SMTP certificate).", | |
15326 | "enum" : [ | |
15327 | "api", | |
15328 | "smtp" | |
15329 | ], | |
15330 | "type" : "string" | |
ab2b846b TL |
15331 | } |
15332 | } | |
15333 | }, | |
15334 | "permissions" : { | |
15335 | "check" : [ | |
c5ccf1ab | 15336 | "admin" |
ab2b846b TL |
15337 | ] |
15338 | }, | |
15339 | "protected" : 1, | |
15340 | "proxyto" : "node", | |
15341 | "returns" : { | |
c5ccf1ab | 15342 | "type" : "null" |
ab2b846b TL |
15343 | } |
15344 | }, | |
15345 | "POST" : { | |
15346 | "allowtoken" : 1, | |
c5ccf1ab | 15347 | "description" : "Upload or update custom certificate chain and key.", |
ab2b846b | 15348 | "method" : "POST", |
c5ccf1ab | 15349 | "name" : "upload_custom_cert", |
ab2b846b TL |
15350 | "parameters" : { |
15351 | "additionalProperties" : 0, | |
15352 | "properties" : { | |
c5ccf1ab TL |
15353 | "certificates" : { |
15354 | "description" : "PEM encoded certificate (chain).", | |
15355 | "format" : "pem-certificate-chain", | |
15356 | "type" : "string", | |
15357 | "typetext" : "<string>" | |
15358 | }, | |
15359 | "force" : { | |
15360 | "default" : 0, | |
15361 | "description" : "Overwrite existing custom or ACME certificate files.", | |
15362 | "optional" : 1, | |
15363 | "type" : "boolean", | |
15364 | "typetext" : "<boolean>" | |
15365 | }, | |
15366 | "key" : { | |
15367 | "description" : "PEM encoded private key.", | |
15368 | "format" : "pem-string", | |
15369 | "optional" : 0, | |
15370 | "type" : "string", | |
15371 | "typetext" : "<string>" | |
15372 | }, | |
ab2b846b TL |
15373 | "node" : { |
15374 | "description" : "The cluster node name.", | |
15375 | "format" : "pve-node", | |
15376 | "type" : "string", | |
15377 | "typetext" : "<string>" | |
15378 | }, | |
c5ccf1ab TL |
15379 | "restart" : { |
15380 | "default" : 0, | |
15381 | "description" : "Restart services.", | |
15382 | "optional" : 1, | |
15383 | "type" : "boolean", | |
15384 | "typetext" : "<boolean>" | |
15385 | }, | |
15386 | "type" : { | |
15387 | "description" : "The TLS certificate type (API or SMTP certificate).", | |
15388 | "enum" : [ | |
15389 | "api", | |
15390 | "smtp" | |
15391 | ], | |
15392 | "type" : "string" | |
ab2b846b TL |
15393 | } |
15394 | } | |
15395 | }, | |
15396 | "permissions" : { | |
15397 | "check" : [ | |
c5ccf1ab | 15398 | "admin" |
ab2b846b TL |
15399 | ] |
15400 | }, | |
15401 | "protected" : 1, | |
15402 | "proxyto" : "node", | |
15403 | "returns" : { | |
c5ccf1ab TL |
15404 | "properties" : { |
15405 | "filename" : { | |
15406 | "optional" : 1, | |
15407 | "type" : "string" | |
15408 | }, | |
15409 | "fingerprint" : { | |
15410 | "description" : "Certificate SHA 256 fingerprint.", | |
15411 | "optional" : 1, | |
15412 | "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}", | |
15413 | "type" : "string" | |
15414 | }, | |
15415 | "issuer" : { | |
15416 | "description" : "Certificate issuer name.", | |
15417 | "optional" : 1, | |
15418 | "type" : "string" | |
15419 | }, | |
15420 | "notafter" : { | |
15421 | "description" : "Certificate's notAfter timestamp (UNIX epoch).", | |
15422 | "optional" : 1, | |
15423 | "renderer" : "timestamp", | |
15424 | "type" : "integer" | |
15425 | }, | |
15426 | "notbefore" : { | |
15427 | "description" : "Certificate's notBefore timestamp (UNIX epoch).", | |
15428 | "optional" : 1, | |
15429 | "renderer" : "timestamp", | |
15430 | "type" : "integer" | |
15431 | }, | |
15432 | "pem" : { | |
15433 | "description" : "Certificate in PEM format", | |
15434 | "format" : "pem-certificate", | |
15435 | "optional" : 1, | |
15436 | "type" : "string" | |
15437 | }, | |
15438 | "public-key-bits" : { | |
15439 | "description" : "Certificate's public key size", | |
15440 | "optional" : 1, | |
15441 | "type" : "integer" | |
15442 | }, | |
15443 | "public-key-type" : { | |
15444 | "description" : "Certificate's public key algorithm", | |
15445 | "optional" : 1, | |
15446 | "type" : "string" | |
15447 | }, | |
15448 | "san" : { | |
15449 | "description" : "List of Certificate's SubjectAlternativeName entries.", | |
15450 | "items" : { | |
15451 | "type" : "string" | |
15452 | }, | |
15453 | "optional" : 1, | |
15454 | "renderer" : "yaml", | |
15455 | "type" : "array" | |
15456 | }, | |
15457 | "subject" : { | |
15458 | "description" : "Certificate subject name.", | |
15459 | "optional" : 1, | |
15460 | "type" : "string" | |
15461 | } | |
15462 | }, | |
15463 | "type" : "object" | |
15464 | } | |
15465 | } | |
15466 | }, | |
15467 | "leaf" : 1, | |
15468 | "path" : "/nodes/{node}/certificates/custom/{type}", | |
15469 | "text" : "{type}" | |
15470 | } | |
15471 | ], | |
15472 | "info" : { | |
15473 | "GET" : { | |
15474 | "allowtoken" : 1, | |
15475 | "description" : "Certificate index.", | |
15476 | "method" : "GET", | |
15477 | "name" : "custom_cert_index", | |
15478 | "parameters" : { | |
15479 | "additionalProperties" : 0, | |
15480 | "properties" : { | |
15481 | "node" : { | |
15482 | "description" : "The cluster node name.", | |
15483 | "format" : "pve-node", | |
15484 | "type" : "string", | |
15485 | "typetext" : "<string>" | |
ab2b846b TL |
15486 | } |
15487 | } | |
15488 | }, | |
c5ccf1ab TL |
15489 | "permissions" : { |
15490 | "user" : "all" | |
15491 | }, | |
15492 | "returns" : { | |
15493 | "items" : { | |
15494 | "properties" : {}, | |
15495 | "type" : "object" | |
15496 | }, | |
15497 | "links" : [ | |
15498 | { | |
15499 | "href" : "{type}", | |
15500 | "rel" : "child" | |
15501 | } | |
15502 | ], | |
15503 | "type" : "array" | |
15504 | } | |
15505 | } | |
15506 | }, | |
15507 | "leaf" : 0, | |
15508 | "path" : "/nodes/{node}/certificates/custom", | |
15509 | "text" : "custom" | |
15510 | }, | |
15511 | { | |
15512 | "children" : [ | |
ab2b846b TL |
15513 | { |
15514 | "info" : { | |
15515 | "DELETE" : { | |
15516 | "allowtoken" : 1, | |
c5ccf1ab | 15517 | "description" : "Revoke existing certificate from CA.", |
ab2b846b | 15518 | "method" : "DELETE", |
c5ccf1ab | 15519 | "name" : "revoke_acme_cert", |
ab2b846b TL |
15520 | "parameters" : { |
15521 | "additionalProperties" : 0, | |
15522 | "properties" : { | |
15523 | "node" : { | |
15524 | "description" : "The cluster node name.", | |
15525 | "format" : "pve-node", | |
15526 | "type" : "string", | |
15527 | "typetext" : "<string>" | |
15528 | }, | |
c5ccf1ab TL |
15529 | "type" : { |
15530 | "description" : "The TLS certificate type (API or SMTP certificate).", | |
15531 | "enum" : [ | |
15532 | "api", | |
15533 | "smtp" | |
15534 | ], | |
15535 | "type" : "string" | |
ab2b846b TL |
15536 | } |
15537 | } | |
15538 | }, | |
15539 | "permissions" : { | |
15540 | "check" : [ | |
c5ccf1ab | 15541 | "admin" |
ab2b846b TL |
15542 | ] |
15543 | }, | |
15544 | "protected" : 1, | |
15545 | "proxyto" : "node", | |
15546 | "returns" : { | |
c5ccf1ab | 15547 | "type" : "string" |
ab2b846b TL |
15548 | } |
15549 | }, | |
c5ccf1ab | 15550 | "POST" : { |
ab2b846b | 15551 | "allowtoken" : 1, |
c5ccf1ab TL |
15552 | "description" : "Order a new certificate from ACME-compatible CA.", |
15553 | "method" : "POST", | |
15554 | "name" : "new_acme_cert", | |
ab2b846b TL |
15555 | "parameters" : { |
15556 | "additionalProperties" : 0, | |
15557 | "properties" : { | |
c5ccf1ab TL |
15558 | "force" : { |
15559 | "default" : 0, | |
15560 | "description" : "Overwrite existing custom certificate.", | |
15561 | "optional" : 1, | |
15562 | "type" : "boolean", | |
15563 | "typetext" : "<boolean>" | |
15564 | }, | |
ab2b846b TL |
15565 | "node" : { |
15566 | "description" : "The cluster node name.", | |
15567 | "format" : "pve-node", | |
15568 | "type" : "string", | |
15569 | "typetext" : "<string>" | |
15570 | }, | |
c5ccf1ab TL |
15571 | "type" : { |
15572 | "description" : "The TLS certificate type (API or SMTP certificate).", | |
15573 | "enum" : [ | |
15574 | "api", | |
15575 | "smtp" | |
15576 | ], | |
15577 | "type" : "string" | |
ab2b846b TL |
15578 | } |
15579 | } | |
15580 | }, | |
15581 | "permissions" : { | |
15582 | "check" : [ | |
c5ccf1ab | 15583 | "admin" |
ab2b846b TL |
15584 | ] |
15585 | }, | |
15586 | "protected" : 1, | |
15587 | "proxyto" : "node", | |
15588 | "returns" : { | |
c5ccf1ab | 15589 | "type" : "string" |
ab2b846b TL |
15590 | } |
15591 | }, | |
c5ccf1ab | 15592 | "PUT" : { |
ab2b846b | 15593 | "allowtoken" : 1, |
c5ccf1ab TL |
15594 | "description" : "Renew existing certificate from CA.", |
15595 | "method" : "PUT", | |
15596 | "name" : "renew_acme_cert", | |
ab2b846b TL |
15597 | "parameters" : { |
15598 | "additionalProperties" : 0, | |
15599 | "properties" : { | |
c5ccf1ab TL |
15600 | "force" : { |
15601 | "default" : 0, | |
15602 | "description" : "Force renewal even if expiry is more than 30 days away.", | |
ab2b846b | 15603 | "optional" : 1, |
c5ccf1ab TL |
15604 | "type" : "boolean", |
15605 | "typetext" : "<boolean>" | |
ab2b846b TL |
15606 | }, |
15607 | "node" : { | |
15608 | "description" : "The cluster node name.", | |
15609 | "format" : "pve-node", | |
15610 | "type" : "string", | |
15611 | "typetext" : "<string>" | |
15612 | }, | |
c5ccf1ab TL |
15613 | "type" : { |
15614 | "description" : "The TLS certificate type (API or SMTP certificate).", | |
15615 | "enum" : [ | |
15616 | "api", | |
15617 | "smtp" | |
15618 | ], | |
ab2b846b TL |
15619 | "type" : "string" |
15620 | } | |
15621 | } | |
15622 | }, | |
15623 | "permissions" : { | |
15624 | "check" : [ | |
c5ccf1ab | 15625 | "admin" |
ab2b846b TL |
15626 | ] |
15627 | }, | |
15628 | "protected" : 1, | |
15629 | "proxyto" : "node", | |
15630 | "returns" : { | |
c5ccf1ab | 15631 | "type" : "string" |
bb6e6e0d DM |
15632 | } |
15633 | } | |
15634 | }, | |
ab2b846b | 15635 | "leaf" : 1, |
c5ccf1ab TL |
15636 | "path" : "/nodes/{node}/certificates/acme/{type}", |
15637 | "text" : "{type}" | |
ab2b846b TL |
15638 | } |
15639 | ], | |
15640 | "info" : { | |
bb6e6e0d | 15641 | "GET" : { |
6bd70b95 | 15642 | "allowtoken" : 1, |
c5ccf1ab | 15643 | "description" : "ACME Certificate index.", |
bb6e6e0d | 15644 | "method" : "GET", |
c5ccf1ab | 15645 | "name" : "acme_cert_index", |
bb6e6e0d DM |
15646 | "parameters" : { |
15647 | "additionalProperties" : 0, | |
15648 | "properties" : { | |
bb6e6e0d DM |
15649 | "node" : { |
15650 | "description" : "The cluster node name.", | |
15651 | "format" : "pve-node", | |
15652 | "type" : "string", | |
15653 | "typetext" : "<string>" | |
bb6e6e0d DM |
15654 | } |
15655 | } | |
15656 | }, | |
c5ccf1ab TL |
15657 | "permissions" : { |
15658 | "user" : "all" | |
15659 | }, | |
bb6e6e0d | 15660 | "returns" : { |
ab2b846b | 15661 | "items" : { |
c5ccf1ab | 15662 | "properties" : {}, |
ab2b846b TL |
15663 | "type" : "object" |
15664 | }, | |
15665 | "links" : [ | |
15666 | { | |
c5ccf1ab | 15667 | "href" : "{type}", |
ab2b846b TL |
15668 | "rel" : "child" |
15669 | } | |
15670 | ], | |
15671 | "type" : "array" | |
bb6e6e0d DM |
15672 | } |
15673 | } | |
15674 | }, | |
ab2b846b | 15675 | "leaf" : 0, |
c5ccf1ab TL |
15676 | "path" : "/nodes/{node}/certificates/acme", |
15677 | "text" : "acme" | |
bb6e6e0d DM |
15678 | } |
15679 | ], | |
15680 | "info" : { | |
15681 | "GET" : { | |
6bd70b95 | 15682 | "allowtoken" : 1, |
c5ccf1ab | 15683 | "description" : "Node index.", |
bb6e6e0d | 15684 | "method" : "GET", |
c5ccf1ab TL |
15685 | "name" : "index", |
15686 | "parameters" : { | |
15687 | "additionalProperties" : 0, | |
15688 | "properties" : { | |
15689 | "node" : { | |
15690 | "description" : "The cluster node name.", | |
15691 | "format" : "pve-node", | |
15692 | "type" : "string", | |
15693 | "typetext" : "<string>" | |
15694 | } | |
15695 | } | |
15696 | }, | |
15697 | "permissions" : { | |
15698 | "user" : "all" | |
15699 | }, | |
15700 | "returns" : { | |
15701 | "items" : { | |
15702 | "properties" : {}, | |
15703 | "type" : "object" | |
15704 | }, | |
15705 | "links" : [ | |
15706 | { | |
15707 | "href" : "{name}", | |
15708 | "rel" : "child" | |
15709 | } | |
15710 | ], | |
15711 | "type" : "array" | |
15712 | } | |
15713 | } | |
15714 | }, | |
15715 | "leaf" : 0, | |
15716 | "path" : "/nodes/{node}/certificates", | |
15717 | "text" : "certificates" | |
15718 | }, | |
15719 | { | |
15720 | "info" : { | |
15721 | "GET" : { | |
15722 | "allowtoken" : 1, | |
15723 | "description" : "Get node configuration options.", | |
15724 | "method" : "GET", | |
15725 | "name" : "get_config", | |
15726 | "parameters" : { | |
15727 | "additionalProperties" : 0, | |
15728 | "properties" : { | |
15729 | "node" : { | |
15730 | "description" : "The cluster node name.", | |
15731 | "format" : "pve-node", | |
15732 | "type" : "string", | |
15733 | "typetext" : "<string>" | |
15734 | } | |
15735 | } | |
15736 | }, | |
15737 | "permissions" : { | |
15738 | "check" : [ | |
15739 | "admin", | |
15740 | "audit" | |
15741 | ] | |
15742 | }, | |
15743 | "protected" : 1, | |
15744 | "proxyto" : "node", | |
15745 | "returns" : { | |
15746 | "additionalProperties" : 0, | |
15747 | "properties" : { | |
15748 | "acme" : { | |
15749 | "description" : "Node specific ACME settings.", | |
15750 | "format" : { | |
15751 | "account" : { | |
15752 | "default" : "default", | |
15753 | "description" : "ACME account config file name.", | |
15754 | "format" : "pve-configid", | |
15755 | "format_description" : "name", | |
15756 | "optional" : 1, | |
15757 | "type" : "string" | |
15758 | } | |
15759 | }, | |
15760 | "optional" : 1, | |
15761 | "type" : "string" | |
15762 | }, | |
15763 | "acmedomain[n]" : { | |
15764 | "description" : "ACME domain and validation plugin", | |
15765 | "format" : { | |
15766 | "alias" : { | |
15767 | "description" : "Alias for the Domain to verify ACME Challenge over DNS", | |
15768 | "format" : "pmg-acme-alias", | |
15769 | "format_description" : "domain", | |
15770 | "optional" : 1, | |
15771 | "type" : "string" | |
15772 | }, | |
15773 | "domain" : { | |
15774 | "default_key" : 1, | |
15775 | "description" : "domain for this node's ACME certificate", | |
15776 | "format" : "pmg-acme-domain", | |
15777 | "format_description" : "domain", | |
15778 | "type" : "string" | |
15779 | }, | |
15780 | "plugin" : { | |
15781 | "default" : "standalone", | |
15782 | "description" : "The ACME plugin ID", | |
15783 | "format" : "pve-configid", | |
15784 | "format_description" : "name of the plugin configuration", | |
15785 | "optional" : 1, | |
15786 | "type" : "string" | |
15787 | }, | |
15788 | "usage" : { | |
15789 | "description" : "Whether this domain is used for the API, SMTP or both", | |
15790 | "format" : "pmg-certificate-type-list", | |
15791 | "format_description" : "usage list", | |
15792 | "type" : "string" | |
15793 | } | |
15794 | }, | |
15795 | "optional" : 1, | |
15796 | "type" : "string" | |
15797 | }, | |
15798 | "digest" : { | |
15799 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15800 | "maxLength" : 40, | |
15801 | "optional" : 1, | |
15802 | "type" : "string" | |
15803 | } | |
15804 | }, | |
15805 | "type" : "object" | |
15806 | } | |
15807 | }, | |
15808 | "PUT" : { | |
15809 | "allowtoken" : 1, | |
15810 | "description" : "Set node configuration options.", | |
15811 | "method" : "PUT", | |
15812 | "name" : "set_config", | |
bb6e6e0d DM |
15813 | "parameters" : { |
15814 | "additionalProperties" : 0, | |
15815 | "properties" : { | |
c5ccf1ab TL |
15816 | "acme" : { |
15817 | "description" : "Node specific ACME settings.", | |
15818 | "format" : { | |
15819 | "account" : { | |
15820 | "default" : "default", | |
15821 | "description" : "ACME account config file name.", | |
15822 | "format" : "pve-configid", | |
15823 | "format_description" : "name", | |
15824 | "optional" : 1, | |
15825 | "type" : "string" | |
15826 | } | |
15827 | }, | |
15828 | "optional" : 1, | |
15829 | "type" : "string", | |
15830 | "typetext" : "[account=<name>]" | |
15831 | }, | |
15832 | "acmedomain[n]" : { | |
15833 | "description" : "ACME domain and validation plugin", | |
15834 | "format" : { | |
15835 | "alias" : { | |
15836 | "description" : "Alias for the Domain to verify ACME Challenge over DNS", | |
15837 | "format" : "pmg-acme-alias", | |
15838 | "format_description" : "domain", | |
15839 | "optional" : 1, | |
15840 | "type" : "string" | |
15841 | }, | |
15842 | "domain" : { | |
15843 | "default_key" : 1, | |
15844 | "description" : "domain for this node's ACME certificate", | |
15845 | "format" : "pmg-acme-domain", | |
15846 | "format_description" : "domain", | |
15847 | "type" : "string" | |
15848 | }, | |
15849 | "plugin" : { | |
15850 | "default" : "standalone", | |
15851 | "description" : "The ACME plugin ID", | |
15852 | "format" : "pve-configid", | |
15853 | "format_description" : "name of the plugin configuration", | |
15854 | "optional" : 1, | |
15855 | "type" : "string" | |
15856 | }, | |
15857 | "usage" : { | |
15858 | "description" : "Whether this domain is used for the API, SMTP or both", | |
15859 | "format" : "pmg-certificate-type-list", | |
15860 | "format_description" : "usage list", | |
15861 | "type" : "string" | |
15862 | } | |
15863 | }, | |
15864 | "optional" : 1, | |
15865 | "type" : "string", | |
15866 | "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]" | |
15867 | }, | |
15868 | "delete" : { | |
15869 | "description" : "A list of settings you want to delete.", | |
15870 | "format" : "pve-configid-list", | |
15871 | "optional" : 1, | |
15872 | "type" : "string", | |
15873 | "typetext" : "<string>" | |
15874 | }, | |
15875 | "digest" : { | |
15876 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15877 | "maxLength" : 40, | |
15878 | "optional" : 1, | |
15879 | "type" : "string", | |
15880 | "typetext" : "<string>" | |
15881 | }, | |
bb6e6e0d DM |
15882 | "node" : { |
15883 | "description" : "The cluster node name.", | |
15884 | "format" : "pve-node", | |
15885 | "type" : "string", | |
15886 | "typetext" : "<string>" | |
15887 | } | |
c5ccf1ab TL |
15888 | }, |
15889 | "type" : "object" | |
bb6e6e0d DM |
15890 | }, |
15891 | "permissions" : { | |
15892 | "check" : [ | |
15893 | "admin", | |
15894 | "audit" | |
15895 | ] | |
15896 | }, | |
15897 | "protected" : 1, | |
15898 | "proxyto" : "node", | |
15899 | "returns" : { | |
c5ccf1ab | 15900 | "type" : "null" |
bb6e6e0d | 15901 | } |
bb6e6e0d DM |
15902 | } |
15903 | }, | |
c5ccf1ab TL |
15904 | "leaf" : 1, |
15905 | "path" : "/nodes/{node}/config", | |
15906 | "text" : "config" | |
bb6e6e0d | 15907 | }, |
241ac83c TL |
15908 | { |
15909 | "info" : { | |
15910 | "GET" : { | |
6bd70b95 | 15911 | "allowtoken" : 1, |
241ac83c TL |
15912 | "description" : "Gather various system information about a node", |
15913 | "method" : "GET", | |
15914 | "name" : "report", | |
15915 | "parameters" : { | |
15916 | "additionalProperties" : 0, | |
15917 | "properties" : { | |
15918 | "node" : { | |
15919 | "description" : "The cluster node name.", | |
15920 | "format" : "pve-node", | |
15921 | "type" : "string", | |
15922 | "typetext" : "<string>" | |
15923 | } | |
15924 | } | |
15925 | }, | |
15926 | "permissions" : { | |
15927 | "check" : [ | |
15928 | "admin", | |
15929 | "audit" | |
15930 | ] | |
15931 | }, | |
15932 | "protected" : 1, | |
15933 | "proxyto" : "node", | |
15934 | "returns" : { | |
15935 | "type" : "string" | |
15936 | } | |
15937 | } | |
15938 | }, | |
15939 | "leaf" : 1, | |
15940 | "path" : "/nodes/{node}/report", | |
15941 | "text" : "report" | |
15942 | }, | |
9fda36b0 DM |
15943 | { |
15944 | "info" : { | |
15945 | "GET" : { | |
6bd70b95 | 15946 | "allowtoken" : 1, |
9fda36b0 DM |
15947 | "description" : "Read node RRD statistics", |
15948 | "method" : "GET", | |
15949 | "name" : "rrddata", | |
15950 | "parameters" : { | |
15951 | "additionalProperties" : 0, | |
15952 | "properties" : { | |
15953 | "cf" : { | |
15954 | "description" : "The RRD consolidation function", | |
15955 | "enum" : [ | |
15956 | "AVERAGE", | |
15957 | "MAX" | |
15958 | ], | |
15959 | "optional" : 1, | |
15960 | "type" : "string" | |
15961 | }, | |
15962 | "node" : { | |
15963 | "description" : "The cluster node name.", | |
15964 | "format" : "pve-node", | |
15965 | "type" : "string", | |
15966 | "typetext" : "<string>" | |
15967 | }, | |
15968 | "timeframe" : { | |
15969 | "description" : "Specify the time frame you are interested in.", | |
15970 | "enum" : [ | |
15971 | "hour", | |
15972 | "day", | |
15973 | "week", | |
15974 | "month", | |
15975 | "year" | |
15976 | ], | |
15977 | "type" : "string" | |
15978 | } | |
15979 | } | |
15980 | }, | |
732d76e1 DM |
15981 | "permissions" : { |
15982 | "check" : [ | |
15983 | "admin", | |
15984 | "audit" | |
15985 | ] | |
15986 | }, | |
9fda36b0 DM |
15987 | "protected" : 1, |
15988 | "proxyto" : "node", | |
15989 | "returns" : { | |
15990 | "items" : { | |
15991 | "properties" : {}, | |
15992 | "type" : "object" | |
15993 | }, | |
15994 | "type" : "array" | |
15995 | } | |
15996 | } | |
15997 | }, | |
15998 | "leaf" : 1, | |
15999 | "path" : "/nodes/{node}/rrddata", | |
16000 | "text" : "rrddata" | |
16001 | }, | |
16002 | { | |
16003 | "info" : { | |
16004 | "GET" : { | |
6bd70b95 | 16005 | "allowtoken" : 1, |
9fda36b0 DM |
16006 | "description" : "Read system log", |
16007 | "method" : "GET", | |
16008 | "name" : "syslog", | |
16009 | "parameters" : { | |
16010 | "additionalProperties" : 0, | |
16011 | "properties" : { | |
16012 | "limit" : { | |
16013 | "minimum" : 0, | |
16014 | "optional" : 1, | |
16015 | "type" : "integer", | |
16016 | "typetext" : "<integer> (0 - N)" | |
16017 | }, | |
16018 | "node" : { | |
16019 | "description" : "The cluster node name.", | |
16020 | "format" : "pve-node", | |
16021 | "type" : "string", | |
16022 | "typetext" : "<string>" | |
16023 | }, | |
16024 | "service" : { | |
16025 | "description" : "Service ID", | |
16026 | "maxLength" : 128, | |
16027 | "optional" : 1, | |
16028 | "type" : "string", | |
16029 | "typetext" : "<string>" | |
16030 | }, | |
16031 | "since" : { | |
16032 | "description" : "Display all log since this date-time string.", | |
16033 | "optional" : 1, | |
16034 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", | |
16035 | "type" : "string" | |
16036 | }, | |
16037 | "start" : { | |
16038 | "minimum" : 0, | |
16039 | "optional" : 1, | |
16040 | "type" : "integer", | |
16041 | "typetext" : "<integer> (0 - N)" | |
16042 | }, | |
16043 | "until" : { | |
16044 | "description" : "Display all log until this date-time string.", | |
16045 | "optional" : 1, | |
16046 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", | |
16047 | "type" : "string" | |
16048 | } | |
16049 | } | |
16050 | }, | |
732d76e1 DM |
16051 | "permissions" : { |
16052 | "check" : [ | |
16053 | "admin", | |
16054 | "audit" | |
16055 | ] | |
16056 | }, | |
9fda36b0 DM |
16057 | "protected" : 1, |
16058 | "proxyto" : "node", | |
16059 | "returns" : { | |
16060 | "items" : { | |
16061 | "properties" : { | |
16062 | "n" : { | |
16063 | "description" : "Line number", | |
16064 | "type" : "integer" | |
16065 | }, | |
16066 | "t" : { | |
16067 | "description" : "Line text", | |
16068 | "type" : "string" | |
16069 | } | |
16070 | }, | |
16071 | "type" : "object" | |
16072 | }, | |
16073 | "type" : "array" | |
16074 | } | |
16075 | } | |
16076 | }, | |
16077 | "leaf" : 1, | |
16078 | "path" : "/nodes/{node}/syslog", | |
16079 | "text" : "syslog" | |
16080 | }, | |
241ac83c TL |
16081 | { |
16082 | "info" : { | |
16083 | "GET" : { | |
6bd70b95 | 16084 | "allowtoken" : 1, |
241ac83c TL |
16085 | "description" : "Read Journal", |
16086 | "method" : "GET", | |
16087 | "name" : "journal", | |
16088 | "parameters" : { | |
16089 | "additionalProperties" : 0, | |
16090 | "properties" : { | |
16091 | "endcursor" : { | |
16092 | "description" : "End before the given Cursor. Conflicts with 'until'.", | |
16093 | "optional" : 1, | |
16094 | "type" : "string", | |
16095 | "typetext" : "<string>" | |
16096 | }, | |
16097 | "lastentries" : { | |
16098 | "description" : "Limit to the last X lines. Conflicts with a range.", | |
16099 | "minimum" : 0, | |
16100 | "optional" : 1, | |
16101 | "type" : "integer", | |
16102 | "typetext" : "<integer> (0 - N)" | |
16103 | }, | |
16104 | "node" : { | |
16105 | "description" : "The cluster node name.", | |
16106 | "format" : "pve-node", | |
16107 | "type" : "string", | |
16108 | "typetext" : "<string>" | |
16109 | }, | |
16110 | "since" : { | |
16111 | "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.", | |
16112 | "minimum" : 0, | |
16113 | "optional" : 1, | |
16114 | "type" : "integer", | |
16115 | "typetext" : "<integer> (0 - N)" | |
16116 | }, | |
16117 | "startcursor" : { | |
16118 | "description" : "Start after the given Cursor. Conflicts with 'since'.", | |
16119 | "optional" : 1, | |
16120 | "type" : "string", | |
16121 | "typetext" : "<string>" | |
16122 | }, | |
16123 | "until" : { | |
16124 | "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.", | |
16125 | "minimum" : 0, | |
16126 | "optional" : 1, | |
16127 | "type" : "integer", | |
16128 | "typetext" : "<integer> (0 - N)" | |
16129 | } | |
16130 | } | |
16131 | }, | |
16132 | "permissions" : { | |
16133 | "check" : [ | |
16134 | "admin", | |
16135 | "audit" | |
16136 | ] | |
16137 | }, | |
16138 | "protected" : 1, | |
16139 | "proxyto" : "node", | |
16140 | "returns" : { | |
16141 | "items" : { | |
16142 | "type" : "string" | |
16143 | }, | |
16144 | "type" : "array" | |
16145 | } | |
16146 | } | |
16147 | }, | |
16148 | "leaf" : 1, | |
16149 | "path" : "/nodes/{node}/journal", | |
16150 | "text" : "journal" | |
16151 | }, | |
9fda36b0 DM |
16152 | { |
16153 | "info" : { | |
16154 | "POST" : { | |
6bd70b95 | 16155 | "allowtoken" : 1, |
274b47fc | 16156 | "description" : "Creates a Terminal proxy.", |
9fda36b0 | 16157 | "method" : "POST", |
274b47fc | 16158 | "name" : "termproxy", |
9fda36b0 DM |
16159 | "parameters" : { |
16160 | "additionalProperties" : 0, | |
16161 | "properties" : { | |
c5ccf1ab TL |
16162 | "cmd" : { |
16163 | "default" : "login", | |
16164 | "description" : "Run specific command or default to login.", | |
16165 | "enum" : [ | |
14ffe66b TL |
16166 | "login", |
16167 | "upgrade" | |
c5ccf1ab TL |
16168 | ], |
16169 | "optional" : 1, | |
16170 | "type" : "string" | |
16171 | }, | |
16172 | "cmd-opts" : { | |
16173 | "default" : "", | |
16174 | "description" : "Add parameters to a command. Encoded as null terminated strings.", | |
16175 | "optional" : 1, | |
16176 | "requires" : "cmd", | |
16177 | "type" : "string", | |
16178 | "typetext" : "<string>" | |
16179 | }, | |
9fda36b0 DM |
16180 | "node" : { |
16181 | "description" : "The cluster node name.", | |
16182 | "format" : "pve-node", | |
16183 | "type" : "string", | |
16184 | "typetext" : "<string>" | |
9fda36b0 DM |
16185 | } |
16186 | } | |
16187 | }, | |
274b47fc DM |
16188 | "permissions" : { |
16189 | "check" : [ | |
16190 | "admin" | |
16191 | ] | |
16192 | }, | |
9fda36b0 DM |
16193 | "protected" : 1, |
16194 | "returns" : { | |
16195 | "additionalProperties" : 0, | |
16196 | "properties" : { | |
16197 | "port" : { | |
16198 | "type" : "integer" | |
16199 | }, | |
16200 | "ticket" : { | |
16201 | "type" : "string" | |
16202 | }, | |
16203 | "upid" : { | |
16204 | "type" : "string" | |
16205 | }, | |
16206 | "user" : { | |
16207 | "type" : "string" | |
16208 | } | |
16209 | } | |
16210 | } | |
16211 | } | |
16212 | }, | |
16213 | "leaf" : 1, | |
274b47fc DM |
16214 | "path" : "/nodes/{node}/termproxy", |
16215 | "text" : "termproxy" | |
9fda36b0 DM |
16216 | }, |
16217 | { | |
16218 | "info" : { | |
16219 | "GET" : { | |
6bd70b95 | 16220 | "allowtoken" : 1, |
9fda36b0 DM |
16221 | "description" : "Opens a weksocket for VNC traffic.", |
16222 | "method" : "GET", | |
16223 | "name" : "vncwebsocket", | |
16224 | "parameters" : { | |
16225 | "additionalProperties" : 0, | |
16226 | "properties" : { | |
16227 | "node" : { | |
16228 | "description" : "The cluster node name.", | |
16229 | "format" : "pve-node", | |
16230 | "type" : "string", | |
16231 | "typetext" : "<string>" | |
16232 | }, | |
16233 | "port" : { | |
16234 | "description" : "Port number returned by previous vncproxy call.", | |
16235 | "maximum" : 5999, | |
16236 | "minimum" : 5900, | |
16237 | "type" : "integer", | |
16238 | "typetext" : "<integer> (5900 - 5999)" | |
16239 | }, | |
16240 | "vncticket" : { | |
16241 | "description" : "Ticket from previous call to vncproxy.", | |
16242 | "maxLength" : 512, | |
16243 | "type" : "string", | |
16244 | "typetext" : "<string>" | |
16245 | } | |
16246 | } | |
16247 | }, | |
274b47fc DM |
16248 | "permissions" : { |
16249 | "check" : [ | |
16250 | "admin" | |
16251 | ] | |
16252 | }, | |
9fda36b0 DM |
16253 | "returns" : { |
16254 | "properties" : { | |
16255 | "port" : { | |
16256 | "type" : "string" | |
16257 | } | |
16258 | }, | |
16259 | "type" : "object" | |
16260 | } | |
16261 | } | |
16262 | }, | |
16263 | "leaf" : 1, | |
16264 | "path" : "/nodes/{node}/vncwebsocket", | |
16265 | "text" : "vncwebsocket" | |
16266 | }, | |
16267 | { | |
16268 | "info" : { | |
16269 | "GET" : { | |
6bd70b95 | 16270 | "allowtoken" : 1, |
9fda36b0 DM |
16271 | "description" : "Read DNS settings.", |
16272 | "method" : "GET", | |
16273 | "name" : "dns", | |
16274 | "parameters" : { | |
16275 | "additionalProperties" : 0, | |
16276 | "properties" : { | |
16277 | "node" : { | |
16278 | "description" : "The cluster node name.", | |
16279 | "format" : "pve-node", | |
16280 | "type" : "string", | |
16281 | "typetext" : "<string>" | |
16282 | } | |
16283 | } | |
16284 | }, | |
732d76e1 DM |
16285 | "permissions" : { |
16286 | "check" : [ | |
16287 | "admin", | |
16288 | "audit" | |
16289 | ] | |
16290 | }, | |
9fda36b0 DM |
16291 | "proxyto" : "node", |
16292 | "returns" : { | |
16293 | "additionalProperties" : 0, | |
16294 | "properties" : { | |
16295 | "dns1" : { | |
16296 | "description" : "First name server IP address.", | |
16297 | "optional" : 1, | |
16298 | "type" : "string" | |
16299 | }, | |
16300 | "dns2" : { | |
16301 | "description" : "Second name server IP address.", | |
16302 | "optional" : 1, | |
16303 | "type" : "string" | |
16304 | }, | |
16305 | "dns3" : { | |
16306 | "description" : "Third name server IP address.", | |
16307 | "optional" : 1, | |
16308 | "type" : "string" | |
16309 | }, | |
16310 | "search" : { | |
16311 | "description" : "Search domain for host-name lookup.", | |
16312 | "optional" : 1, | |
16313 | "type" : "string" | |
16314 | } | |
16315 | }, | |
16316 | "type" : "object" | |
16317 | } | |
16318 | }, | |
16319 | "PUT" : { | |
6bd70b95 | 16320 | "allowtoken" : 1, |
9fda36b0 DM |
16321 | "description" : "Write DNS settings.", |
16322 | "method" : "PUT", | |
16323 | "name" : "update_dns", | |
16324 | "parameters" : { | |
16325 | "additionalProperties" : 0, | |
16326 | "properties" : { | |
16327 | "dns1" : { | |
16328 | "description" : "First name server IP address.", | |
16329 | "format" : "ip", | |
16330 | "optional" : 1, | |
16331 | "type" : "string", | |
16332 | "typetext" : "<string>" | |
16333 | }, | |
16334 | "dns2" : { | |
16335 | "description" : "Second name server IP address.", | |
16336 | "format" : "ip", | |
16337 | "optional" : 1, | |
16338 | "type" : "string", | |
16339 | "typetext" : "<string>" | |
16340 | }, | |
16341 | "dns3" : { | |
16342 | "description" : "Third name server IP address.", | |
16343 | "format" : "ip", | |
16344 | "optional" : 1, | |
16345 | "type" : "string", | |
16346 | "typetext" : "<string>" | |
16347 | }, | |
16348 | "node" : { | |
16349 | "description" : "The cluster node name.", | |
16350 | "format" : "pve-node", | |
16351 | "type" : "string", | |
16352 | "typetext" : "<string>" | |
16353 | }, | |
16354 | "search" : { | |
16355 | "description" : "Search domain for host-name lookup.", | |
16356 | "type" : "string", | |
16357 | "typetext" : "<string>" | |
16358 | } | |
16359 | } | |
16360 | }, | |
16361 | "protected" : 1, | |
16362 | "proxyto" : "node", | |
16363 | "returns" : { | |
16364 | "type" : "null" | |
16365 | } | |
16366 | } | |
16367 | }, | |
16368 | "leaf" : 1, | |
16369 | "path" : "/nodes/{node}/dns", | |
16370 | "text" : "dns" | |
16371 | }, | |
16372 | { | |
16373 | "info" : { | |
16374 | "GET" : { | |
6bd70b95 | 16375 | "allowtoken" : 1, |
9fda36b0 DM |
16376 | "description" : "Read server time and time zone settings.", |
16377 | "method" : "GET", | |
16378 | "name" : "time", | |
16379 | "parameters" : { | |
16380 | "additionalProperties" : 0, | |
16381 | "properties" : { | |
16382 | "node" : { | |
16383 | "description" : "The cluster node name.", | |
16384 | "format" : "pve-node", | |
16385 | "type" : "string", | |
16386 | "typetext" : "<string>" | |
16387 | } | |
16388 | } | |
16389 | }, | |
732d76e1 DM |
16390 | "permissions" : { |
16391 | "check" : [ | |
16392 | "admin", | |
16393 | "audit" | |
16394 | ] | |
16395 | }, | |
9fda36b0 DM |
16396 | "proxyto" : "node", |
16397 | "returns" : { | |
16398 | "additionalProperties" : 0, | |
16399 | "properties" : { | |
16400 | "localtime" : { | |
16401 | "description" : "Seconds since 1970-01-01 00:00:00 (local time)", | |
16402 | "minimum" : 1297163644, | |
16403 | "type" : "integer" | |
16404 | }, | |
16405 | "time" : { | |
16406 | "description" : "Seconds since 1970-01-01 00:00:00 UTC.", | |
16407 | "minimum" : 1297163644, | |
16408 | "type" : "integer" | |
16409 | }, | |
16410 | "timezone" : { | |
16411 | "description" : "Time zone", | |
16412 | "type" : "string" | |
16413 | } | |
16414 | }, | |
16415 | "type" : "object" | |
16416 | } | |
16417 | }, | |
16418 | "PUT" : { | |
6bd70b95 | 16419 | "allowtoken" : 1, |
9fda36b0 DM |
16420 | "description" : "Set time zone.", |
16421 | "method" : "PUT", | |
16422 | "name" : "set_timezone", | |
16423 | "parameters" : { | |
16424 | "additionalProperties" : 0, | |
16425 | "properties" : { | |
16426 | "node" : { | |
16427 | "description" : "The cluster node name.", | |
16428 | "format" : "pve-node", | |
16429 | "type" : "string", | |
16430 | "typetext" : "<string>" | |
16431 | }, | |
16432 | "timezone" : { | |
16433 | "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.", | |
16434 | "type" : "string", | |
16435 | "typetext" : "<string>" | |
16436 | } | |
16437 | } | |
16438 | }, | |
16439 | "protected" : 1, | |
16440 | "proxyto" : "node", | |
16441 | "returns" : { | |
16442 | "type" : "null" | |
16443 | } | |
16444 | } | |
16445 | }, | |
16446 | "leaf" : 1, | |
16447 | "path" : "/nodes/{node}/time", | |
16448 | "text" : "time" | |
16449 | }, | |
16450 | { | |
16451 | "info" : { | |
16452 | "GET" : { | |
6bd70b95 | 16453 | "allowtoken" : 1, |
9fda36b0 DM |
16454 | "description" : "Read server status. This is used by the cluster manager to test the node health.", |
16455 | "method" : "GET", | |
16456 | "name" : "status", | |
16457 | "parameters" : { | |
16458 | "additionalProperties" : 0, | |
16459 | "properties" : { | |
16460 | "node" : { | |
16461 | "description" : "The cluster node name.", | |
16462 | "format" : "pve-node", | |
16463 | "type" : "string", | |
16464 | "typetext" : "<string>" | |
16465 | } | |
16466 | } | |
16467 | }, | |
241ac83c TL |
16468 | "permissions" : { |
16469 | "check" : [ | |
16470 | "admin", | |
16471 | "qmanager", | |
16472 | "audit" | |
16473 | ] | |
16474 | }, | |
9fda36b0 DM |
16475 | "protected" : 1, |
16476 | "proxyto" : "node", | |
16477 | "returns" : { | |
16478 | "additionalProperties" : 1, | |
16479 | "properties" : { | |
16480 | "insync" : { | |
16481 | "description" : "Database is synced with other nodes.", | |
16482 | "type" : "boolean" | |
16483 | }, | |
16484 | "time" : { | |
16485 | "description" : "Seconds since 1970-01-01 00:00:00 UTC.", | |
16486 | "minimum" : 1297163644, | |
16487 | "type" : "integer" | |
16488 | }, | |
16489 | "uptime" : { | |
16490 | "description" : "The uptime of the system in seconds.", | |
16491 | "minimum" : 0, | |
16492 | "type" : "integer" | |
16493 | } | |
16494 | }, | |
16495 | "type" : "object" | |
16496 | } | |
274b47fc DM |
16497 | }, |
16498 | "POST" : { | |
6bd70b95 | 16499 | "allowtoken" : 1, |
274b47fc DM |
16500 | "description" : "Reboot or shutdown a node.", |
16501 | "method" : "POST", | |
16502 | "name" : "node_cmd", | |
16503 | "parameters" : { | |
16504 | "additionalProperties" : 0, | |
16505 | "properties" : { | |
16506 | "command" : { | |
16507 | "description" : "Specify the command.", | |
16508 | "enum" : [ | |
16509 | "reboot", | |
16510 | "shutdown" | |
16511 | ], | |
16512 | "type" : "string" | |
16513 | }, | |
16514 | "node" : { | |
16515 | "description" : "The cluster node name.", | |
16516 | "format" : "pve-node", | |
16517 | "type" : "string", | |
16518 | "typetext" : "<string>" | |
16519 | } | |
16520 | } | |
16521 | }, | |
16522 | "permissions" : { | |
16523 | "check" : [ | |
16524 | "admin" | |
16525 | ] | |
16526 | }, | |
16527 | "protected" : 1, | |
16528 | "proxyto" : "node", | |
16529 | "returns" : { | |
16530 | "type" : "null" | |
16531 | } | |
9fda36b0 DM |
16532 | } |
16533 | }, | |
16534 | "leaf" : 1, | |
16535 | "path" : "/nodes/{node}/status", | |
16536 | "text" : "status" | |
16537 | } | |
16538 | ], | |
16539 | "info" : { | |
16540 | "GET" : { | |
6bd70b95 | 16541 | "allowtoken" : 1, |
9fda36b0 DM |
16542 | "description" : "Node index.", |
16543 | "method" : "GET", | |
16544 | "name" : "index", | |
16545 | "parameters" : { | |
16546 | "additionalProperties" : 0, | |
16547 | "properties" : { | |
16548 | "node" : { | |
16549 | "description" : "The cluster node name.", | |
16550 | "format" : "pve-node", | |
16551 | "type" : "string", | |
16552 | "typetext" : "<string>" | |
16553 | } | |
16554 | } | |
16555 | }, | |
16556 | "permissions" : { | |
16557 | "user" : "all" | |
16558 | }, | |
16559 | "returns" : { | |
16560 | "items" : { | |
16561 | "properties" : {}, | |
16562 | "type" : "object" | |
16563 | }, | |
16564 | "links" : [ | |
16565 | { | |
16566 | "href" : "{name}", | |
16567 | "rel" : "child" | |
16568 | } | |
16569 | ], | |
16570 | "type" : "array" | |
16571 | } | |
16572 | } | |
16573 | }, | |
16574 | "leaf" : 0, | |
16575 | "path" : "/nodes/{node}", | |
16576 | "text" : "{node}" | |
16577 | } | |
16578 | ], | |
16579 | "info" : { | |
16580 | "GET" : { | |
6bd70b95 | 16581 | "allowtoken" : 1, |
9fda36b0 DM |
16582 | "description" : "Cluster node index.", |
16583 | "method" : "GET", | |
16584 | "name" : "index", | |
16585 | "parameters" : { | |
16586 | "additionalProperties" : 0 | |
16587 | }, | |
16588 | "permissions" : { | |
16589 | "user" : "all" | |
16590 | }, | |
16591 | "returns" : { | |
16592 | "items" : { | |
16593 | "properties" : {}, | |
16594 | "type" : "object" | |
16595 | }, | |
16596 | "links" : [ | |
16597 | { | |
16598 | "href" : "{node}", | |
16599 | "rel" : "child" | |
16600 | } | |
16601 | ], | |
16602 | "type" : "array" | |
16603 | } | |
16604 | } | |
16605 | }, | |
16606 | "leaf" : 0, | |
16607 | "path" : "/nodes", | |
16608 | "text" : "nodes" | |
16609 | }, | |
16610 | { | |
16611 | "children" : [ | |
16612 | { | |
16613 | "children" : [ | |
16614 | { | |
16615 | "info" : { | |
16616 | "DELETE" : { | |
6bd70b95 | 16617 | "allowtoken" : 1, |
9fda36b0 DM |
16618 | "description" : "Delete a user.", |
16619 | "method" : "DELETE", | |
16620 | "name" : "delete", | |
16621 | "parameters" : { | |
16622 | "additionalProperties" : 0, | |
16623 | "properties" : { | |
16624 | "userid" : { | |
16625 | "description" : "User ID", | |
16626 | "format" : "pmg-userid", | |
16627 | "maxLength" : 64, | |
16628 | "minLength" : 4, | |
16629 | "type" : "string", | |
16630 | "typetext" : "<string>" | |
16631 | } | |
16632 | } | |
16633 | }, | |
16634 | "protected" : 1, | |
16635 | "proxyto" : "master", | |
16636 | "returns" : { | |
16637 | "type" : "null" | |
16638 | } | |
16639 | }, | |
16640 | "GET" : { | |
6bd70b95 | 16641 | "allowtoken" : 1, |
9fda36b0 DM |
16642 | "description" : "Read User data.", |
16643 | "method" : "GET", | |
16644 | "name" : "read", | |
16645 | "parameters" : { | |
16646 | "additionalProperties" : 0, | |
16647 | "properties" : { | |
16648 | "userid" : { | |
16649 | "description" : "User ID", | |
16650 | "format" : "pmg-userid", | |
16651 | "maxLength" : 64, | |
16652 | "minLength" : 4, | |
16653 | "type" : "string", | |
16654 | "typetext" : "<string>" | |
16655 | } | |
16656 | } | |
16657 | }, | |
4a46ced6 DM |
16658 | "permissions" : { |
16659 | "check" : [ | |
16660 | "admin", | |
16661 | "qmanager", | |
16662 | "audit" | |
16663 | ] | |
16664 | }, | |
9fda36b0 DM |
16665 | "protected" : 1, |
16666 | "proxyto" : "master", | |
16667 | "returns" : { | |
9fda36b0 DM |
16668 | "type" : "object" |
16669 | } | |
16670 | }, | |
e0e71e6a TL |
16671 | "PUT" : { |
16672 | "allowtoken" : 1, | |
16673 | "description" : "Update user data.", | |
16674 | "method" : "PUT", | |
16675 | "name" : "write", | |
16676 | "parameters" : { | |
16677 | "additionalProperties" : 0, | |
16678 | "properties" : { | |
16679 | "comment" : { | |
16680 | "description" : "Comment.", | |
16681 | "optional" : 1, | |
16682 | "type" : "string", | |
16683 | "typetext" : "<string>" | |
16684 | }, | |
16685 | "crypt_pass" : { | |
16686 | "description" : "Encrypted password (see `man crypt`)", | |
16687 | "optional" : 1, | |
16688 | "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+", | |
16689 | "type" : "string" | |
16690 | }, | |
16691 | "delete" : { | |
16692 | "description" : "A list of settings you want to delete.", | |
16693 | "format" : "pve-configid-list", | |
16694 | "maxLength" : 4096, | |
16695 | "optional" : 1, | |
16696 | "type" : "string", | |
16697 | "typetext" : "<string>" | |
16698 | }, | |
16699 | "email" : { | |
16700 | "description" : "Users E-Mail address.", | |
16701 | "format" : "email", | |
16702 | "optional" : 1, | |
16703 | "type" : "string", | |
16704 | "typetext" : "<string>" | |
16705 | }, | |
16706 | "enable" : { | |
16707 | "default" : 0, | |
16708 | "description" : "Flag to enable or disable the account.", | |
16709 | "optional" : 1, | |
16710 | "type" : "boolean", | |
16711 | "typetext" : "<boolean>" | |
16712 | }, | |
16713 | "expire" : { | |
16714 | "default" : 0, | |
16715 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
16716 | "minimum" : 0, | |
16717 | "optional" : 1, | |
16718 | "type" : "integer", | |
16719 | "typetext" : "<integer> (0 - N)" | |
16720 | }, | |
16721 | "firstname" : { | |
16722 | "description" : "First name.", | |
16723 | "maxLength" : 64, | |
16724 | "optional" : 1, | |
16725 | "type" : "string", | |
16726 | "typetext" : "<string>" | |
16727 | }, | |
16728 | "keys" : { | |
16729 | "description" : "Keys for two factor auth (yubico).", | |
16730 | "maxLength" : 128, | |
16731 | "optional" : 1, | |
16732 | "type" : "string", | |
16733 | "typetext" : "<string>" | |
16734 | }, | |
16735 | "lastname" : { | |
16736 | "description" : "Last name.", | |
16737 | "maxLength" : 64, | |
16738 | "optional" : 1, | |
16739 | "type" : "string", | |
16740 | "typetext" : "<string>" | |
16741 | }, | |
16742 | "password" : { | |
16743 | "description" : "Password", | |
16744 | "maxLength" : 32, | |
16745 | "minLength" : 5, | |
16746 | "optional" : 1, | |
16747 | "type" : "string", | |
16748 | "typetext" : "<string>" | |
16749 | }, | |
16750 | "role" : { | |
16751 | "description" : "User role. Role 'root' is reserved for the Unix Superuser.", | |
16752 | "enum" : [ | |
16753 | "root", | |
16754 | "admin", | |
16755 | "helpdesk", | |
16756 | "qmanager", | |
16757 | "audit" | |
16758 | ], | |
16759 | "optional" : 1, | |
16760 | "type" : "string" | |
16761 | }, | |
16762 | "userid" : { | |
16763 | "description" : "User ID", | |
16764 | "format" : "pmg-userid", | |
16765 | "maxLength" : 64, | |
16766 | "minLength" : 4, | |
16767 | "type" : "string", | |
16768 | "typetext" : "<string>" | |
16769 | } | |
16770 | } | |
16771 | }, | |
16772 | "protected" : 1, | |
16773 | "proxyto" : "master", | |
16774 | "returns" : { | |
16775 | "type" : "null" | |
16776 | } | |
16777 | } | |
16778 | }, | |
16779 | "leaf" : 1, | |
16780 | "path" : "/access/users/{userid}", | |
16781 | "text" : "{userid}" | |
16782 | } | |
16783 | ], | |
16784 | "info" : { | |
16785 | "GET" : { | |
16786 | "allowtoken" : 1, | |
16787 | "description" : "List users.", | |
16788 | "method" : "GET", | |
16789 | "name" : "index", | |
16790 | "parameters" : { | |
16791 | "additionalProperties" : 0 | |
16792 | }, | |
16793 | "permissions" : { | |
16794 | "check" : [ | |
16795 | "admin", | |
16796 | "qmanager", | |
16797 | "audit" | |
16798 | ] | |
16799 | }, | |
16800 | "protected" : 1, | |
16801 | "proxyto" : "master", | |
16802 | "returns" : { | |
16803 | "items" : { | |
16804 | "properties" : { | |
16805 | "comment" : { | |
16806 | "optional" : 1, | |
16807 | "type" : "string" | |
16808 | }, | |
16809 | "enable" : { | |
16810 | "type" : "boolean" | |
16811 | }, | |
16812 | "role" : { | |
16813 | "type" : "string" | |
16814 | }, | |
16815 | "userid" : { | |
16816 | "type" : "string" | |
16817 | } | |
16818 | }, | |
16819 | "type" : "object" | |
16820 | }, | |
16821 | "links" : [ | |
16822 | { | |
16823 | "href" : "{userid}", | |
16824 | "rel" : "child" | |
16825 | } | |
16826 | ], | |
16827 | "type" : "array" | |
16828 | } | |
16829 | }, | |
16830 | "POST" : { | |
16831 | "allowtoken" : 1, | |
16832 | "description" : "Create new user", | |
16833 | "method" : "POST", | |
16834 | "name" : "create", | |
16835 | "parameters" : { | |
16836 | "additionalProperties" : 0, | |
16837 | "properties" : { | |
16838 | "comment" : { | |
16839 | "description" : "Comment.", | |
16840 | "optional" : 1, | |
16841 | "type" : "string", | |
16842 | "typetext" : "<string>" | |
16843 | }, | |
16844 | "crypt_pass" : { | |
16845 | "description" : "Encrypted password (see `man crypt`)", | |
16846 | "optional" : 1, | |
16847 | "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+", | |
16848 | "type" : "string" | |
16849 | }, | |
16850 | "email" : { | |
16851 | "description" : "Users E-Mail address.", | |
16852 | "format" : "email", | |
16853 | "optional" : 1, | |
16854 | "type" : "string", | |
16855 | "typetext" : "<string>" | |
16856 | }, | |
16857 | "enable" : { | |
16858 | "default" : 0, | |
16859 | "description" : "Flag to enable or disable the account.", | |
16860 | "optional" : 1, | |
16861 | "type" : "boolean", | |
16862 | "typetext" : "<boolean>" | |
16863 | }, | |
16864 | "expire" : { | |
16865 | "default" : 0, | |
16866 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
16867 | "minimum" : 0, | |
16868 | "optional" : 1, | |
16869 | "type" : "integer", | |
16870 | "typetext" : "<integer> (0 - N)" | |
16871 | }, | |
16872 | "firstname" : { | |
16873 | "description" : "First name.", | |
16874 | "maxLength" : 64, | |
16875 | "optional" : 1, | |
16876 | "type" : "string", | |
16877 | "typetext" : "<string>" | |
16878 | }, | |
16879 | "keys" : { | |
16880 | "description" : "Keys for two factor auth (yubico).", | |
16881 | "maxLength" : 128, | |
16882 | "optional" : 1, | |
16883 | "type" : "string", | |
16884 | "typetext" : "<string>" | |
16885 | }, | |
16886 | "lastname" : { | |
16887 | "description" : "Last name.", | |
16888 | "maxLength" : 64, | |
16889 | "optional" : 1, | |
16890 | "type" : "string", | |
16891 | "typetext" : "<string>" | |
16892 | }, | |
16893 | "password" : { | |
16894 | "description" : "Password", | |
16895 | "maxLength" : 32, | |
16896 | "minLength" : 5, | |
16897 | "optional" : 1, | |
16898 | "type" : "string", | |
16899 | "typetext" : "<string>" | |
16900 | }, | |
16901 | "role" : { | |
16902 | "description" : "User role. Role 'root' is reserved for the Unix Superuser.", | |
16903 | "enum" : [ | |
16904 | "root", | |
16905 | "admin", | |
16906 | "helpdesk", | |
16907 | "qmanager", | |
16908 | "audit" | |
16909 | ], | |
16910 | "type" : "string" | |
16911 | }, | |
16912 | "userid" : { | |
16913 | "description" : "User ID", | |
16914 | "format" : "pmg-userid", | |
16915 | "maxLength" : 64, | |
16916 | "minLength" : 4, | |
16917 | "type" : "string", | |
16918 | "typetext" : "<string>" | |
16919 | } | |
16920 | } | |
16921 | }, | |
16922 | "protected" : 1, | |
16923 | "proxyto" : "master", | |
16924 | "returns" : { | |
16925 | "type" : "null" | |
16926 | } | |
16927 | } | |
16928 | }, | |
16929 | "leaf" : 0, | |
16930 | "path" : "/access/users", | |
16931 | "text" : "users" | |
16932 | }, | |
16933 | { | |
16934 | "children" : [ | |
16935 | { | |
16936 | "children" : [ | |
16937 | { | |
16938 | "info" : { | |
16939 | "DELETE" : { | |
16940 | "allowtoken" : 0, | |
16941 | "description" : "Delete a TFA entry by ID.", | |
16942 | "method" : "DELETE", | |
16943 | "name" : "delete_tfa", | |
16944 | "parameters" : { | |
16945 | "additionalProperties" : 0, | |
16946 | "properties" : { | |
16947 | "id" : { | |
16948 | "description" : "A TFA entry id.", | |
16949 | "type" : "string", | |
16950 | "typetext" : "<string>" | |
16951 | }, | |
16952 | "password" : { | |
16953 | "description" : "The current password.", | |
16954 | "maxLength" : 64, | |
16955 | "minLength" : 5, | |
16956 | "optional" : 1, | |
16957 | "type" : "string", | |
16958 | "typetext" : "<string>" | |
16959 | }, | |
16960 | "userid" : { | |
16961 | "description" : "User ID", | |
16962 | "format" : "pmg-userid", | |
16963 | "maxLength" : 64, | |
16964 | "minLength" : 4, | |
16965 | "type" : "string", | |
16966 | "typetext" : "<string>" | |
16967 | } | |
16968 | } | |
16969 | }, | |
16970 | "permissions" : { | |
16971 | "check" : [ | |
16972 | "admin", | |
16973 | "qmanager", | |
16974 | "audit" | |
16975 | ], | |
16976 | "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user." | |
16977 | }, | |
16978 | "protected" : 1, | |
16979 | "proxyto" : "master", | |
16980 | "returns" : { | |
16981 | "type" : "null" | |
16982 | } | |
16983 | }, | |
16984 | "GET" : { | |
16985 | "allowtoken" : 0, | |
16986 | "description" : "Fetch a requested TFA entry if present.", | |
16987 | "method" : "GET", | |
16988 | "name" : "get_tfa_entry", | |
16989 | "parameters" : { | |
16990 | "additionalProperties" : 0, | |
16991 | "properties" : { | |
16992 | "id" : { | |
16993 | "description" : "A TFA entry id.", | |
16994 | "type" : "string", | |
16995 | "typetext" : "<string>" | |
16996 | }, | |
16997 | "userid" : { | |
16998 | "description" : "User ID", | |
16999 | "format" : "pmg-userid", | |
17000 | "maxLength" : 64, | |
17001 | "minLength" : 4, | |
17002 | "type" : "string", | |
17003 | "typetext" : "<string>" | |
17004 | } | |
17005 | } | |
17006 | }, | |
17007 | "permissions" : { | |
17008 | "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.", | |
17009 | "user" : "all" | |
17010 | }, | |
17011 | "protected" : 1, | |
17012 | "proxyto" : "master", | |
17013 | "returns" : { | |
17014 | "description" : "TFA Entry.", | |
17015 | "properties" : { | |
17016 | "created" : { | |
17017 | "description" : "Creation time of this entry as unix epoch.", | |
17018 | "type" : "integer" | |
17019 | }, | |
17020 | "description" : { | |
17021 | "description" : "User chosen description for this entry.", | |
17022 | "type" : "string" | |
17023 | }, | |
17024 | "enable" : { | |
17025 | "default" : 1, | |
17026 | "description" : "Whether this TFA entry is currently enabled.", | |
17027 | "optional" : 1, | |
17028 | "type" : "boolean" | |
17029 | }, | |
17030 | "id" : { | |
17031 | "description" : "The id used to reference this entry.", | |
17032 | "type" : "string" | |
17033 | }, | |
17034 | "type" : { | |
17035 | "description" : "TFA Entry Type.", | |
17036 | "enum" : [ | |
17037 | "totp", | |
17038 | "u2f", | |
17039 | "webauthn", | |
17040 | "recovery" | |
17041 | ], | |
17042 | "type" : "string" | |
17043 | } | |
17044 | }, | |
17045 | "type" : "object" | |
17046 | } | |
17047 | }, | |
17048 | "PUT" : { | |
17049 | "allowtoken" : 0, | |
17050 | "description" : "Add a TFA entry for a user.", | |
17051 | "method" : "PUT", | |
17052 | "name" : "update_tfa_entry", | |
17053 | "parameters" : { | |
17054 | "additionalProperties" : 0, | |
17055 | "properties" : { | |
17056 | "description" : { | |
17057 | "description" : "A description to distinguish multiple entries from one another", | |
17058 | "maxLength" : 255, | |
17059 | "optional" : 1, | |
17060 | "type" : "string", | |
17061 | "typetext" : "<string>" | |
17062 | }, | |
17063 | "enable" : { | |
17064 | "description" : "Whether the entry should be enabled for login.", | |
17065 | "optional" : 1, | |
17066 | "type" : "boolean", | |
17067 | "typetext" : "<boolean>" | |
17068 | }, | |
17069 | "id" : { | |
17070 | "description" : "A TFA entry id.", | |
17071 | "type" : "string", | |
17072 | "typetext" : "<string>" | |
17073 | }, | |
17074 | "password" : { | |
17075 | "description" : "The current password.", | |
17076 | "maxLength" : 64, | |
17077 | "minLength" : 5, | |
17078 | "optional" : 1, | |
17079 | "type" : "string", | |
17080 | "typetext" : "<string>" | |
17081 | }, | |
17082 | "userid" : { | |
17083 | "description" : "User ID", | |
17084 | "format" : "pmg-userid", | |
17085 | "maxLength" : 64, | |
17086 | "minLength" : 4, | |
17087 | "type" : "string", | |
17088 | "typetext" : "<string>" | |
17089 | } | |
17090 | } | |
17091 | }, | |
17092 | "permissions" : { | |
17093 | "check" : [ | |
17094 | "admin", | |
17095 | "qmanager", | |
17096 | "audit" | |
17097 | ], | |
17098 | "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user." | |
17099 | }, | |
17100 | "protected" : 1, | |
17101 | "proxyto" : "master", | |
17102 | "returns" : { | |
17103 | "type" : "null" | |
17104 | } | |
17105 | } | |
17106 | }, | |
17107 | "leaf" : 1, | |
17108 | "path" : "/access/tfa/{userid}/{id}", | |
17109 | "text" : "{id}" | |
17110 | } | |
17111 | ], | |
17112 | "info" : { | |
17113 | "GET" : { | |
17114 | "allowtoken" : 0, | |
17115 | "description" : "List TFA configurations of users.", | |
17116 | "method" : "GET", | |
17117 | "name" : "list_user_tfa", | |
17118 | "parameters" : { | |
17119 | "additionalProperties" : 0, | |
17120 | "properties" : { | |
17121 | "userid" : { | |
17122 | "description" : "User ID", | |
17123 | "format" : "pmg-userid", | |
17124 | "maxLength" : 64, | |
17125 | "minLength" : 4, | |
17126 | "type" : "string", | |
17127 | "typetext" : "<string>" | |
17128 | } | |
17129 | } | |
17130 | }, | |
17131 | "permissions" : { | |
17132 | "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.", | |
17133 | "user" : "all" | |
17134 | }, | |
17135 | "protected" : 1, | |
17136 | "proxyto" : "master", | |
17137 | "returns" : { | |
17138 | "description" : "A list of the user's TFA entries.", | |
17139 | "items" : { | |
17140 | "description" : "TFA Entry.", | |
17141 | "properties" : { | |
17142 | "created" : { | |
17143 | "description" : "Creation time of this entry as unix epoch.", | |
17144 | "type" : "integer" | |
17145 | }, | |
17146 | "description" : { | |
17147 | "description" : "User chosen description for this entry.", | |
17148 | "type" : "string" | |
17149 | }, | |
17150 | "enable" : { | |
17151 | "default" : 1, | |
17152 | "description" : "Whether this TFA entry is currently enabled.", | |
17153 | "optional" : 1, | |
17154 | "type" : "boolean" | |
17155 | }, | |
17156 | "id" : { | |
17157 | "description" : "The id used to reference this entry.", | |
17158 | "type" : "string" | |
17159 | }, | |
17160 | "type" : { | |
17161 | "description" : "TFA Entry Type.", | |
17162 | "enum" : [ | |
17163 | "totp", | |
17164 | "u2f", | |
17165 | "webauthn", | |
17166 | "recovery" | |
17167 | ], | |
17168 | "type" : "string" | |
17169 | } | |
17170 | }, | |
17171 | "type" : "object" | |
17172 | }, | |
17173 | "type" : "array" | |
17174 | } | |
17175 | }, | |
17176 | "POST" : { | |
17177 | "allowtoken" : 0, | |
17178 | "description" : "Add a TFA entry for a user.", | |
17179 | "method" : "POST", | |
17180 | "name" : "add_tfa_entry", | |
9fda36b0 DM |
17181 | "parameters" : { |
17182 | "additionalProperties" : 0, | |
17183 | "properties" : { | |
e0e71e6a TL |
17184 | "challenge" : { |
17185 | "description" : "When responding to a u2f challenge: the original challenge string", | |
9fda36b0 DM |
17186 | "optional" : 1, |
17187 | "type" : "string", | |
17188 | "typetext" : "<string>" | |
17189 | }, | |
e0e71e6a TL |
17190 | "description" : { |
17191 | "description" : "A description to distinguish multiple entries from one another", | |
17192 | "maxLength" : 255, | |
9fda36b0 DM |
17193 | "optional" : 1, |
17194 | "type" : "string", | |
17195 | "typetext" : "<string>" | |
17196 | }, | |
e0e71e6a TL |
17197 | "password" : { |
17198 | "description" : "The current password.", | |
9fda36b0 | 17199 | "maxLength" : 64, |
e0e71e6a | 17200 | "minLength" : 5, |
9fda36b0 DM |
17201 | "optional" : 1, |
17202 | "type" : "string", | |
17203 | "typetext" : "<string>" | |
17204 | }, | |
e0e71e6a TL |
17205 | "totp" : { |
17206 | "description" : "A totp URI.", | |
9fda36b0 DM |
17207 | "optional" : 1, |
17208 | "type" : "string", | |
17209 | "typetext" : "<string>" | |
17210 | }, | |
e0e71e6a TL |
17211 | "type" : { |
17212 | "description" : "TFA Entry Type.", | |
9fda36b0 | 17213 | "enum" : [ |
e0e71e6a TL |
17214 | "totp", |
17215 | "u2f", | |
17216 | "webauthn", | |
17217 | "recovery" | |
9fda36b0 | 17218 | ], |
9fda36b0 DM |
17219 | "type" : "string" |
17220 | }, | |
17221 | "userid" : { | |
17222 | "description" : "User ID", | |
17223 | "format" : "pmg-userid", | |
17224 | "maxLength" : 64, | |
17225 | "minLength" : 4, | |
17226 | "type" : "string", | |
17227 | "typetext" : "<string>" | |
e0e71e6a TL |
17228 | }, |
17229 | "value" : { | |
17230 | "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response", | |
17231 | "optional" : 1, | |
17232 | "type" : "string", | |
17233 | "typetext" : "<string>" | |
9fda36b0 DM |
17234 | } |
17235 | } | |
17236 | }, | |
e0e71e6a TL |
17237 | "permissions" : { |
17238 | "check" : [ | |
17239 | "admin", | |
17240 | "qmanager", | |
17241 | "audit" | |
17242 | ], | |
17243 | "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user." | |
17244 | }, | |
9fda36b0 DM |
17245 | "protected" : 1, |
17246 | "proxyto" : "master", | |
17247 | "returns" : { | |
e0e71e6a TL |
17248 | "properties" : { |
17249 | "challenge" : { | |
17250 | "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.", | |
17251 | "optional" : 1, | |
17252 | "type" : "string" | |
17253 | }, | |
17254 | "id" : { | |
17255 | "description" : "The id of a newly added TFA entry.", | |
17256 | "type" : "string" | |
17257 | }, | |
17258 | "recovery" : { | |
17259 | "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user", | |
17260 | "items" : { | |
17261 | "description" : "A recovery entry.", | |
17262 | "type" : "string" | |
17263 | }, | |
17264 | "optional" : 1, | |
17265 | "type" : "array" | |
17266 | } | |
17267 | }, | |
17268 | "type" : "object" | |
9fda36b0 DM |
17269 | } |
17270 | } | |
17271 | }, | |
e0e71e6a TL |
17272 | "leaf" : 0, |
17273 | "path" : "/access/tfa/{userid}", | |
9fda36b0 DM |
17274 | "text" : "{userid}" |
17275 | } | |
17276 | ], | |
17277 | "info" : { | |
17278 | "GET" : { | |
e0e71e6a TL |
17279 | "allowtoken" : 0, |
17280 | "description" : "List TFA configurations of users.", | |
9fda36b0 | 17281 | "method" : "GET", |
e0e71e6a | 17282 | "name" : "list_tfa", |
9fda36b0 DM |
17283 | "parameters" : { |
17284 | "additionalProperties" : 0 | |
17285 | }, | |
17286 | "permissions" : { | |
e0e71e6a TL |
17287 | "description" : "Returns all or just the logged-in user, depending on privileges.", |
17288 | "user" : "all" | |
9fda36b0 DM |
17289 | }, |
17290 | "protected" : 1, | |
17291 | "proxyto" : "master", | |
17292 | "returns" : { | |
e0e71e6a | 17293 | "description" : "The list tuples of user and TFA entries.", |
9fda36b0 DM |
17294 | "items" : { |
17295 | "properties" : { | |
e0e71e6a TL |
17296 | "entries" : { |
17297 | "items" : { | |
17298 | "description" : "TFA Entry.", | |
17299 | "properties" : { | |
17300 | "created" : { | |
17301 | "description" : "Creation time of this entry as unix epoch.", | |
17302 | "type" : "integer" | |
17303 | }, | |
17304 | "description" : { | |
17305 | "description" : "User chosen description for this entry.", | |
17306 | "type" : "string" | |
17307 | }, | |
17308 | "enable" : { | |
17309 | "default" : 1, | |
17310 | "description" : "Whether this TFA entry is currently enabled.", | |
17311 | "optional" : 1, | |
17312 | "type" : "boolean" | |
17313 | }, | |
17314 | "id" : { | |
17315 | "description" : "The id used to reference this entry.", | |
17316 | "type" : "string" | |
17317 | }, | |
17318 | "type" : { | |
17319 | "description" : "TFA Entry Type.", | |
17320 | "enum" : [ | |
17321 | "totp", | |
17322 | "u2f", | |
17323 | "webauthn", | |
17324 | "recovery" | |
17325 | ], | |
17326 | "type" : "string" | |
17327 | } | |
17328 | }, | |
17329 | "type" : "object" | |
17330 | }, | |
17331 | "type" : "array" | |
9fda36b0 DM |
17332 | }, |
17333 | "userid" : { | |
e0e71e6a | 17334 | "description" : "User this entry belongs to.", |
9fda36b0 DM |
17335 | "type" : "string" |
17336 | } | |
17337 | }, | |
17338 | "type" : "object" | |
17339 | }, | |
9fda36b0 DM |
17340 | "type" : "array" |
17341 | } | |
9fda36b0 DM |
17342 | } |
17343 | }, | |
17344 | "leaf" : 0, | |
e0e71e6a TL |
17345 | "path" : "/access/tfa", |
17346 | "text" : "tfa" | |
9fda36b0 DM |
17347 | }, |
17348 | { | |
17349 | "info" : { | |
17350 | "GET" : { | |
6bd70b95 | 17351 | "allowtoken" : 1, |
9fda36b0 DM |
17352 | "description" : "Dummy. Useful for formaters which want to priovde a login page.", |
17353 | "method" : "GET", | |
17354 | "name" : "get_ticket", | |
17355 | "parameters" : { | |
17356 | "additionalProperties" : 0 | |
17357 | }, | |
17358 | "permissions" : { | |
17359 | "user" : "world" | |
17360 | }, | |
17361 | "returns" : { | |
17362 | "type" : "null" | |
17363 | } | |
a55e94a6 | 17364 | }, |
9fda36b0 | 17365 | "POST" : { |
6bd70b95 | 17366 | "allowtoken" : 1, |
9fda36b0 DM |
17367 | "description" : "Create or verify authentication ticket.", |
17368 | "method" : "POST", | |
17369 | "name" : "create_ticket", | |
17370 | "parameters" : { | |
17371 | "additionalProperties" : 0, | |
17372 | "properties" : { | |
17373 | "otp" : { | |
17374 | "description" : "One-time password for Two-factor authentication.", | |
17375 | "optional" : 1, | |
17376 | "type" : "string", | |
17377 | "typetext" : "<string>" | |
410dc2c9 | 17378 | }, |
9fda36b0 DM |
17379 | "password" : { |
17380 | "description" : "The secret password. This can also be a valid ticket.", | |
17381 | "type" : "string", | |
17382 | "typetext" : "<string>" | |
17383 | }, | |
274b47fc DM |
17384 | "path" : { |
17385 | "description" : "Verify ticket, and check if user have access on 'path'", | |
17386 | "maxLength" : 64, | |
17387 | "optional" : 1, | |
17388 | "type" : "string", | |
17389 | "typetext" : "<string>" | |
17390 | }, | |
9fda36b0 DM |
17391 | "realm" : { |
17392 | "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.", | |
732d76e1 DM |
17393 | "enum" : [ |
17394 | "pam", | |
17395 | "pmg", | |
17396 | "quarantine" | |
17397 | ], | |
9fda36b0 DM |
17398 | "maxLength" : 32, |
17399 | "optional" : 1, | |
732d76e1 | 17400 | "type" : "string" |
9fda36b0 | 17401 | }, |
e0e71e6a TL |
17402 | "tfa-challenge" : { |
17403 | "description" : "The signed TFA challenge string the user wants to respond to.", | |
17404 | "optional" : 1, | |
17405 | "type" : "string", | |
17406 | "typetext" : "<string>" | |
17407 | }, | |
9fda36b0 DM |
17408 | "username" : { |
17409 | "description" : "User name", | |
17410 | "maxLength" : 64, | |
17411 | "type" : "string", | |
17412 | "typetext" : "<string>" | |
17413 | } | |
17414 | } | |
17415 | }, | |
17416 | "permissions" : { | |
17417 | "description" : "You need to pass valid credientials.", | |
17418 | "user" : "world" | |
17419 | }, | |
17420 | "protected" : 1, | |
17421 | "returns" : { | |
17422 | "properties" : { | |
17423 | "CSRFPreventionToken" : { | |
17424 | "optional" : 1, | |
17425 | "type" : "string" | |
17426 | }, | |
17427 | "role" : { | |
17428 | "optional" : 1, | |
17429 | "type" : "string" | |
17430 | }, | |
17431 | "ticket" : { | |
17432 | "optional" : 1, | |
17433 | "type" : "string" | |
17434 | }, | |
17435 | "username" : { | |
17436 | "type" : "string" | |
17437 | } | |
17438 | }, | |
17439 | "type" : "object" | |
17440 | } | |
17441 | } | |
17442 | }, | |
17443 | "leaf" : 1, | |
17444 | "path" : "/access/ticket", | |
17445 | "text" : "ticket" | |
17446 | }, | |
17447 | { | |
17448 | "info" : { | |
17449 | "PUT" : { | |
6bd70b95 | 17450 | "allowtoken" : 1, |
9fda36b0 DM |
17451 | "description" : "Change user password.", |
17452 | "method" : "PUT", | |
17453 | "name" : "change_passsword", | |
17454 | "parameters" : { | |
17455 | "additionalProperties" : 0, | |
17456 | "properties" : { | |
17457 | "password" : { | |
17458 | "description" : "The new password.", | |
17459 | "maxLength" : 64, | |
17460 | "minLength" : 5, | |
17461 | "type" : "string", | |
17462 | "typetext" : "<string>" | |
17463 | }, | |
17464 | "userid" : { | |
17465 | "description" : "User ID", | |
17466 | "format" : "pmg-userid", | |
17467 | "maxLength" : 64, | |
17468 | "minLength" : 4, | |
17469 | "type" : "string", | |
17470 | "typetext" : "<string>" | |
410dc2c9 DM |
17471 | } |
17472 | } | |
17473 | }, | |
9fda36b0 DM |
17474 | "permissions" : { |
17475 | "description" : "Each user is allowed to change his own password. Only root can change the password of another user.", | |
17476 | "user" : "all" | |
17477 | }, | |
17478 | "protected" : 1, | |
17479 | "returns" : { | |
17480 | "type" : "null" | |
17481 | } | |
17482 | } | |
17483 | }, | |
17484 | "leaf" : 1, | |
17485 | "path" : "/access/password", | |
17486 | "text" : "password" | |
17487 | } | |
17488 | ], | |
17489 | "info" : { | |
17490 | "GET" : { | |
6bd70b95 | 17491 | "allowtoken" : 1, |
9fda36b0 DM |
17492 | "description" : "Directory index.", |
17493 | "method" : "GET", | |
17494 | "name" : "index", | |
17495 | "parameters" : { | |
17496 | "additionalProperties" : 0 | |
17497 | }, | |
17498 | "permissions" : { | |
17499 | "user" : "all" | |
17500 | }, | |
17501 | "returns" : { | |
17502 | "items" : { | |
17503 | "properties" : { | |
17504 | "subdir" : { | |
17505 | "type" : "string" | |
17506 | } | |
17507 | }, | |
17508 | "type" : "object" | |
410dc2c9 | 17509 | }, |
9fda36b0 DM |
17510 | "links" : [ |
17511 | { | |
17512 | "href" : "{subdir}", | |
17513 | "rel" : "child" | |
17514 | } | |
17515 | ], | |
17516 | "type" : "array" | |
17517 | } | |
17518 | } | |
17519 | }, | |
17520 | "leaf" : 0, | |
17521 | "path" : "/access", | |
17522 | "text" : "access" | |
17523 | }, | |
17524 | { | |
17525 | "children" : [ | |
17526 | { | |
9fda36b0 | 17527 | "info" : { |
549cfb68 TL |
17528 | "DELETE" : { |
17529 | "allowtoken" : 1, | |
17530 | "description" : "Delete user whitelist entries.", | |
17531 | "method" : "DELETE", | |
17532 | "name" : "whitelist_delete_base", | |
17533 | "parameters" : { | |
17534 | "additionalProperties" : 0, | |
17535 | "properties" : { | |
17536 | "address" : { | |
17537 | "description" : "The address, or comma-separated list of addresses, you want to remove.", | |
17538 | "minLength" : 3, | |
17539 | "pattern" : "", | |
17540 | "type" : "string" | |
17541 | }, | |
17542 | "pmail" : { | |
d8212759 | 17543 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
549cfb68 TL |
17544 | "maxLength" : 512, |
17545 | "minLength" : 3, | |
17546 | "optional" : 1, | |
c5ccf1ab | 17547 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
549cfb68 TL |
17548 | "type" : "string" |
17549 | } | |
17550 | } | |
17551 | }, | |
17552 | "permissions" : { | |
17553 | "check" : [ | |
17554 | "admin", | |
17555 | "qmanager", | |
17556 | "audit", | |
17557 | "quser" | |
17558 | ] | |
17559 | }, | |
17560 | "protected" : 1, | |
17561 | "returns" : { | |
17562 | "type" : "null" | |
17563 | } | |
17564 | }, | |
9fda36b0 | 17565 | "GET" : { |
6bd70b95 | 17566 | "allowtoken" : 1, |
9fda36b0 DM |
17567 | "description" : "Show user whitelist.", |
17568 | "method" : "GET", | |
17569 | "name" : "whitelist", | |
17570 | "parameters" : { | |
17571 | "additionalProperties" : 0, | |
17572 | "properties" : { | |
17573 | "pmail" : { | |
d8212759 | 17574 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
241ac83c TL |
17575 | "maxLength" : 512, |
17576 | "minLength" : 3, | |
9fda36b0 | 17577 | "optional" : 1, |
c5ccf1ab | 17578 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
241ac83c | 17579 | "type" : "string" |
9fda36b0 DM |
17580 | } |
17581 | } | |
17582 | }, | |
17583 | "permissions" : { | |
17584 | "check" : [ | |
17585 | "admin", | |
17586 | "qmanager", | |
17587 | "audit", | |
17588 | "quser" | |
17589 | ] | |
17590 | }, | |
17591 | "returns" : { | |
17592 | "items" : { | |
17593 | "properties" : { | |
17594 | "address" : { | |
17595 | "type" : "string" | |
410dc2c9 DM |
17596 | } |
17597 | }, | |
9fda36b0 DM |
17598 | "type" : "object" |
17599 | }, | |
17600 | "type" : "array" | |
17601 | } | |
17602 | }, | |
17603 | "POST" : { | |
6bd70b95 | 17604 | "allowtoken" : 1, |
9fda36b0 DM |
17605 | "description" : "Add user whitelist entries.", |
17606 | "method" : "POST", | |
17607 | "name" : "whitelist_add", | |
17608 | "parameters" : { | |
17609 | "additionalProperties" : 0, | |
17610 | "properties" : { | |
17611 | "address" : { | |
17612 | "description" : "The address you want to add.", | |
9fda36b0 | 17613 | "minLength" : 3, |
241ac83c | 17614 | "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*", |
9fda36b0 DM |
17615 | "type" : "string" |
17616 | }, | |
17617 | "pmail" : { | |
d8212759 | 17618 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
241ac83c TL |
17619 | "maxLength" : 512, |
17620 | "minLength" : 3, | |
9fda36b0 | 17621 | "optional" : 1, |
c5ccf1ab | 17622 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
241ac83c | 17623 | "type" : "string" |
410dc2c9 DM |
17624 | } |
17625 | } | |
17626 | }, | |
9fda36b0 DM |
17627 | "permissions" : { |
17628 | "check" : [ | |
17629 | "admin", | |
17630 | "qmanager", | |
17631 | "audit", | |
17632 | "quser" | |
17633 | ] | |
17634 | }, | |
17635 | "protected" : 1, | |
17636 | "returns" : { | |
17637 | "type" : "null" | |
17638 | } | |
17639 | } | |
17640 | }, | |
14ffe66b | 17641 | "leaf" : 1, |
9fda36b0 DM |
17642 | "path" : "/quarantine/whitelist", |
17643 | "text" : "whitelist" | |
17644 | }, | |
17645 | { | |
9fda36b0 | 17646 | "info" : { |
549cfb68 TL |
17647 | "DELETE" : { |
17648 | "allowtoken" : 1, | |
17649 | "description" : "Delete user blacklist entries.", | |
17650 | "method" : "DELETE", | |
17651 | "name" : "blacklist_delete_base", | |
17652 | "parameters" : { | |
17653 | "additionalProperties" : 0, | |
17654 | "properties" : { | |
17655 | "address" : { | |
17656 | "description" : "The address, or comma-separated list of addresses, you want to remove.", | |
17657 | "minLength" : 3, | |
17658 | "pattern" : "", | |
17659 | "type" : "string" | |
17660 | }, | |
17661 | "pmail" : { | |
d8212759 | 17662 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
549cfb68 TL |
17663 | "maxLength" : 512, |
17664 | "minLength" : 3, | |
17665 | "optional" : 1, | |
c5ccf1ab | 17666 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
549cfb68 TL |
17667 | "type" : "string" |
17668 | } | |
17669 | } | |
17670 | }, | |
17671 | "permissions" : { | |
17672 | "check" : [ | |
17673 | "admin", | |
17674 | "qmanager", | |
17675 | "audit", | |
17676 | "quser" | |
17677 | ] | |
17678 | }, | |
17679 | "protected" : 1, | |
17680 | "returns" : { | |
17681 | "type" : "null" | |
17682 | } | |
17683 | }, | |
9fda36b0 | 17684 | "GET" : { |
6bd70b95 | 17685 | "allowtoken" : 1, |
9fda36b0 DM |
17686 | "description" : "Show user blacklist.", |
17687 | "method" : "GET", | |
17688 | "name" : "blacklist", | |
17689 | "parameters" : { | |
17690 | "additionalProperties" : 0, | |
17691 | "properties" : { | |
17692 | "pmail" : { | |
d8212759 | 17693 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
241ac83c TL |
17694 | "maxLength" : 512, |
17695 | "minLength" : 3, | |
9fda36b0 | 17696 | "optional" : 1, |
c5ccf1ab | 17697 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
241ac83c | 17698 | "type" : "string" |
9fda36b0 DM |
17699 | } |
17700 | } | |
17701 | }, | |
17702 | "permissions" : { | |
17703 | "check" : [ | |
17704 | "admin", | |
17705 | "qmanager", | |
17706 | "audit", | |
17707 | "quser" | |
17708 | ] | |
17709 | }, | |
17710 | "returns" : { | |
17711 | "items" : { | |
17712 | "properties" : { | |
17713 | "address" : { | |
17714 | "type" : "string" | |
410dc2c9 DM |
17715 | } |
17716 | }, | |
9fda36b0 DM |
17717 | "type" : "object" |
17718 | }, | |
17719 | "type" : "array" | |
17720 | } | |
17721 | }, | |
17722 | "POST" : { | |
6bd70b95 | 17723 | "allowtoken" : 1, |
9fda36b0 DM |
17724 | "description" : "Add user blacklist entries.", |
17725 | "method" : "POST", | |
17726 | "name" : "blacklist_add", | |
17727 | "parameters" : { | |
17728 | "additionalProperties" : 0, | |
17729 | "properties" : { | |
17730 | "address" : { | |
17731 | "description" : "The address you want to add.", | |
9fda36b0 | 17732 | "minLength" : 3, |
241ac83c | 17733 | "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*", |
9fda36b0 DM |
17734 | "type" : "string" |
17735 | }, | |
17736 | "pmail" : { | |
d8212759 | 17737 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
241ac83c TL |
17738 | "maxLength" : 512, |
17739 | "minLength" : 3, | |
9fda36b0 | 17740 | "optional" : 1, |
c5ccf1ab | 17741 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
241ac83c | 17742 | "type" : "string" |
9fda36b0 DM |
17743 | } |
17744 | } | |
17745 | }, | |
17746 | "permissions" : { | |
17747 | "check" : [ | |
17748 | "admin", | |
17749 | "qmanager", | |
17750 | "audit", | |
17751 | "quser" | |
17752 | ] | |
17753 | }, | |
17754 | "protected" : 1, | |
17755 | "returns" : { | |
17756 | "type" : "null" | |
17757 | } | |
17758 | } | |
17759 | }, | |
14ffe66b | 17760 | "leaf" : 1, |
9fda36b0 DM |
17761 | "path" : "/quarantine/blacklist", |
17762 | "text" : "blacklist" | |
17763 | }, | |
17764 | { | |
17765 | "info" : { | |
17766 | "GET" : { | |
6bd70b95 | 17767 | "allowtoken" : 1, |
9fda36b0 DM |
17768 | "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).", |
17769 | "method" : "GET", | |
17770 | "name" : "spamusers", | |
17771 | "parameters" : { | |
17772 | "additionalProperties" : 0, | |
17773 | "properties" : { | |
17774 | "endtime" : { | |
17775 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
17776 | "minimum" : 1, | |
17777 | "optional" : 1, | |
17778 | "type" : "integer", | |
17779 | "typetext" : "<integer> (1 - N)" | |
17780 | }, | |
f4831d94 TL |
17781 | "quarantine-type" : { |
17782 | "default" : "spam", | |
17783 | "description" : "Query this type of quarantine for users.", | |
17784 | "enum" : [ | |
f4831d94 | 17785 | "virus", |
8c308065 TL |
17786 | "spam", |
17787 | "attachment" | |
f4831d94 TL |
17788 | ], |
17789 | "optional" : 1, | |
17790 | "type" : "string" | |
17791 | }, | |
9fda36b0 DM |
17792 | "starttime" : { |
17793 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
17794 | "minimum" : 0, | |
17795 | "optional" : 1, | |
17796 | "type" : "integer", | |
17797 | "typetext" : "<integer> (0 - N)" | |
410dc2c9 | 17798 | } |
9fda36b0 DM |
17799 | } |
17800 | }, | |
17801 | "permissions" : { | |
17802 | "check" : [ | |
17803 | "admin", | |
17804 | "qmanager", | |
17805 | "audit" | |
17806 | ] | |
17807 | }, | |
17808 | "returns" : { | |
17809 | "items" : { | |
17810 | "properties" : { | |
17811 | "mail" : { | |
17812 | "description" : "the receiving email", | |
17813 | "type" : "string" | |
17814 | } | |
17815 | }, | |
17816 | "type" : "object" | |
410dc2c9 | 17817 | }, |
9fda36b0 DM |
17818 | "type" : "array" |
17819 | } | |
17820 | } | |
17821 | }, | |
17822 | "leaf" : 1, | |
17823 | "path" : "/quarantine/spamusers", | |
17824 | "text" : "spamusers" | |
17825 | }, | |
17826 | { | |
17827 | "info" : { | |
17828 | "GET" : { | |
6bd70b95 | 17829 | "allowtoken" : 1, |
9fda36b0 DM |
17830 | "description" : "Get Spam Quarantine Status", |
17831 | "method" : "GET", | |
17832 | "name" : "spamstatus", | |
17833 | "parameters" : { | |
17834 | "additionalProperties" : 0 | |
17835 | }, | |
17836 | "permissions" : { | |
17837 | "check" : [ | |
17838 | "admin", | |
17839 | "qmanager", | |
17840 | "audit" | |
17841 | ] | |
17842 | }, | |
17843 | "returns" : { | |
17844 | "properties" : { | |
17845 | "avgbytes" : { | |
17846 | "description" : "Average size of stored mails in bytes.", | |
17847 | "type" : "number" | |
17848 | }, | |
17849 | "avgspam" : { | |
17850 | "description" : "Average spam level.", | |
17851 | "type" : "number" | |
17852 | }, | |
17853 | "count" : { | |
17854 | "description" : "Number of stored mails.", | |
17855 | "type" : "integer" | |
17856 | }, | |
17857 | "mbytes" : { | |
17858 | "description" : "Estimated disk space usage in MByte.", | |
17859 | "type" : "number" | |
17860 | } | |
17861 | }, | |
17862 | "type" : "object" | |
17863 | } | |
17864 | } | |
17865 | }, | |
17866 | "leaf" : 1, | |
17867 | "path" : "/quarantine/spamstatus", | |
17868 | "text" : "spamstatus" | |
17869 | }, | |
17870 | { | |
17871 | "info" : { | |
17872 | "GET" : { | |
6bd70b95 | 17873 | "allowtoken" : 1, |
d8212759 | 17874 | "description" : "Get a list of users with whitelist/blacklist settings.", |
9fda36b0 DM |
17875 | "method" : "GET", |
17876 | "name" : "quarusers", | |
17877 | "parameters" : { | |
241ac83c TL |
17878 | "additionalProperties" : 0, |
17879 | "properties" : { | |
17880 | "list" : { | |
17881 | "description" : "If set, limits the result to the given list.", | |
17882 | "enum" : [ | |
17883 | "BL", | |
17884 | "WL" | |
17885 | ], | |
17886 | "optional" : 1, | |
17887 | "type" : "string" | |
17888 | } | |
17889 | } | |
9fda36b0 DM |
17890 | }, |
17891 | "permissions" : { | |
17892 | "check" : [ | |
17893 | "admin", | |
17894 | "qmanager", | |
17895 | "audit" | |
17896 | ] | |
17897 | }, | |
17898 | "returns" : { | |
17899 | "items" : { | |
17900 | "properties" : { | |
17901 | "mail" : { | |
17902 | "description" : "the receiving email", | |
17903 | "type" : "string" | |
410dc2c9 DM |
17904 | } |
17905 | }, | |
9fda36b0 DM |
17906 | "type" : "object" |
17907 | }, | |
17908 | "type" : "array" | |
17909 | } | |
17910 | } | |
17911 | }, | |
17912 | "leaf" : 1, | |
17913 | "path" : "/quarantine/quarusers", | |
17914 | "text" : "quarusers" | |
17915 | }, | |
17916 | { | |
17917 | "info" : { | |
17918 | "GET" : { | |
6bd70b95 | 17919 | "allowtoken" : 1, |
9fda36b0 DM |
17920 | "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.", |
17921 | "method" : "GET", | |
17922 | "name" : "spam", | |
17923 | "parameters" : { | |
17924 | "additionalProperties" : 0, | |
17925 | "properties" : { | |
17926 | "endtime" : { | |
17927 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
17928 | "minimum" : 1, | |
17929 | "optional" : 1, | |
17930 | "type" : "integer", | |
17931 | "typetext" : "<integer> (1 - N)" | |
17932 | }, | |
17933 | "pmail" : { | |
d8212759 | 17934 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", |
241ac83c TL |
17935 | "maxLength" : 512, |
17936 | "minLength" : 3, | |
9fda36b0 | 17937 | "optional" : 1, |
c5ccf1ab | 17938 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
241ac83c | 17939 | "type" : "string" |
9fda36b0 DM |
17940 | }, |
17941 | "starttime" : { | |
17942 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
17943 | "minimum" : 0, | |
17944 | "optional" : 1, | |
17945 | "type" : "integer", | |
17946 | "typetext" : "<integer> (0 - N)" | |
410dc2c9 DM |
17947 | } |
17948 | } | |
17949 | }, | |
9fda36b0 DM |
17950 | "permissions" : { |
17951 | "check" : [ | |
17952 | "admin", | |
17953 | "qmanager", | |
17954 | "audit", | |
17955 | "quser" | |
17956 | ] | |
17957 | }, | |
17958 | "returns" : { | |
17959 | "items" : { | |
17960 | "properties" : { | |
17961 | "bytes" : { | |
17962 | "description" : "Size of raw email.", | |
17963 | "type" : "integer" | |
17964 | }, | |
17965 | "envelope_sender" : { | |
17966 | "description" : "SMTP envelope sender.", | |
17967 | "type" : "string" | |
17968 | }, | |
17969 | "from" : { | |
17970 | "description" : "Header 'From' field.", | |
17971 | "type" : "string" | |
17972 | }, | |
17973 | "id" : { | |
17974 | "description" : "Unique ID", | |
17975 | "type" : "string" | |
17976 | }, | |
17977 | "receiver" : { | |
17978 | "description" : "Receiver email address", | |
17979 | "type" : "string" | |
17980 | }, | |
17981 | "sender" : { | |
17982 | "description" : "Header 'Sender' field.", | |
17983 | "optional" : 1, | |
17984 | "type" : "string" | |
17985 | }, | |
17986 | "spamlevel" : { | |
17987 | "description" : "Spam score.", | |
17988 | "type" : "number" | |
17989 | }, | |
17990 | "subject" : { | |
17991 | "description" : "Header 'Subject' field.", | |
17992 | "type" : "string" | |
17993 | }, | |
17994 | "time" : { | |
17995 | "description" : "Receive time stamp", | |
17996 | "type" : "integer" | |
410dc2c9 DM |
17997 | } |
17998 | }, | |
9fda36b0 | 17999 | "type" : "object" |
410dc2c9 | 18000 | }, |
9fda36b0 DM |
18001 | "type" : "array" |
18002 | } | |
18003 | } | |
18004 | }, | |
18005 | "leaf" : 1, | |
18006 | "path" : "/quarantine/spam", | |
18007 | "text" : "spam" | |
18008 | }, | |
18009 | { | |
18010 | "info" : { | |
18011 | "GET" : { | |
6bd70b95 | 18012 | "allowtoken" : 1, |
9fda36b0 DM |
18013 | "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).", |
18014 | "method" : "GET", | |
18015 | "name" : "virus", | |
18016 | "parameters" : { | |
18017 | "additionalProperties" : 0, | |
18018 | "properties" : { | |
18019 | "endtime" : { | |
18020 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18021 | "minimum" : 1, | |
18022 | "optional" : 1, | |
18023 | "type" : "integer", | |
18024 | "typetext" : "<integer> (1 - N)" | |
410dc2c9 | 18025 | }, |
f4831d94 TL |
18026 | "pmail" : { |
18027 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", | |
18028 | "maxLength" : 512, | |
18029 | "minLength" : 3, | |
18030 | "optional" : 1, | |
18031 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", | |
18032 | "type" : "string" | |
18033 | }, | |
9fda36b0 DM |
18034 | "starttime" : { |
18035 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18036 | "minimum" : 0, | |
18037 | "optional" : 1, | |
18038 | "type" : "integer", | |
18039 | "typetext" : "<integer> (0 - N)" | |
410dc2c9 DM |
18040 | } |
18041 | } | |
18042 | }, | |
9fda36b0 DM |
18043 | "permissions" : { |
18044 | "check" : [ | |
18045 | "admin", | |
18046 | "qmanager", | |
18047 | "audit" | |
18048 | ] | |
18049 | }, | |
18050 | "returns" : { | |
18051 | "items" : { | |
18052 | "properties" : { | |
18053 | "bytes" : { | |
18054 | "description" : "Size of raw email.", | |
18055 | "type" : "integer" | |
18056 | }, | |
18057 | "envelope_sender" : { | |
18058 | "description" : "SMTP envelope sender.", | |
18059 | "type" : "string" | |
18060 | }, | |
18061 | "from" : { | |
18062 | "description" : "Header 'From' field.", | |
18063 | "type" : "string" | |
18064 | }, | |
18065 | "id" : { | |
18066 | "description" : "Unique ID", | |
18067 | "type" : "string" | |
18068 | }, | |
18069 | "receiver" : { | |
18070 | "description" : "Receiver email address", | |
18071 | "type" : "string" | |
18072 | }, | |
18073 | "sender" : { | |
18074 | "description" : "Header 'Sender' field.", | |
18075 | "optional" : 1, | |
18076 | "type" : "string" | |
18077 | }, | |
18078 | "subject" : { | |
18079 | "description" : "Header 'Subject' field.", | |
18080 | "type" : "string" | |
18081 | }, | |
18082 | "time" : { | |
18083 | "description" : "Receive time stamp", | |
18084 | "type" : "integer" | |
18085 | }, | |
18086 | "virusname" : { | |
18087 | "description" : "Virus name.", | |
18088 | "type" : "string" | |
d7cd791b DM |
18089 | } |
18090 | }, | |
9fda36b0 DM |
18091 | "type" : "object" |
18092 | }, | |
18093 | "type" : "array" | |
18094 | } | |
18095 | } | |
18096 | }, | |
18097 | "leaf" : 1, | |
18098 | "path" : "/quarantine/virus", | |
18099 | "text" : "virus" | |
18100 | }, | |
d210277a TL |
18101 | { |
18102 | "info" : { | |
18103 | "GET" : { | |
6bd70b95 | 18104 | "allowtoken" : 1, |
d210277a TL |
18105 | "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).", |
18106 | "method" : "GET", | |
18107 | "name" : "attachment", | |
18108 | "parameters" : { | |
18109 | "additionalProperties" : 0, | |
18110 | "properties" : { | |
18111 | "endtime" : { | |
18112 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18113 | "minimum" : 1, | |
18114 | "optional" : 1, | |
18115 | "type" : "integer", | |
18116 | "typetext" : "<integer> (1 - N)" | |
18117 | }, | |
f4831d94 TL |
18118 | "pmail" : { |
18119 | "description" : "List entries for the user with this primary email address. Quarantine users cannot specify this parameter, but it is required for all other roles.", | |
18120 | "maxLength" : 512, | |
18121 | "minLength" : 3, | |
18122 | "optional" : 1, | |
18123 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", | |
18124 | "type" : "string" | |
18125 | }, | |
d210277a TL |
18126 | "starttime" : { |
18127 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18128 | "minimum" : 0, | |
18129 | "optional" : 1, | |
18130 | "type" : "integer", | |
18131 | "typetext" : "<integer> (0 - N)" | |
18132 | } | |
18133 | } | |
18134 | }, | |
18135 | "permissions" : { | |
18136 | "check" : [ | |
18137 | "admin", | |
18138 | "qmanager", | |
18139 | "audit" | |
18140 | ] | |
18141 | }, | |
18142 | "returns" : { | |
18143 | "items" : { | |
18144 | "properties" : { | |
18145 | "bytes" : { | |
18146 | "description" : "Size of raw email.", | |
18147 | "type" : "integer" | |
18148 | }, | |
18149 | "envelope_sender" : { | |
18150 | "description" : "SMTP envelope sender.", | |
18151 | "type" : "string" | |
18152 | }, | |
18153 | "from" : { | |
18154 | "description" : "Header 'From' field.", | |
18155 | "type" : "string" | |
18156 | }, | |
18157 | "id" : { | |
18158 | "description" : "Unique ID", | |
18159 | "type" : "string" | |
18160 | }, | |
18161 | "receiver" : { | |
18162 | "description" : "Receiver email address", | |
18163 | "type" : "string" | |
18164 | }, | |
18165 | "sender" : { | |
18166 | "description" : "Header 'Sender' field.", | |
18167 | "optional" : 1, | |
18168 | "type" : "string" | |
18169 | }, | |
18170 | "subject" : { | |
18171 | "description" : "Header 'Subject' field.", | |
18172 | "type" : "string" | |
18173 | }, | |
18174 | "time" : { | |
18175 | "description" : "Receive time stamp", | |
18176 | "type" : "integer" | |
18177 | } | |
18178 | }, | |
18179 | "type" : "object" | |
18180 | }, | |
18181 | "type" : "array" | |
18182 | } | |
18183 | } | |
18184 | }, | |
18185 | "leaf" : 1, | |
18186 | "path" : "/quarantine/attachment", | |
18187 | "text" : "attachment" | |
18188 | }, | |
9fda36b0 DM |
18189 | { |
18190 | "info" : { | |
18191 | "GET" : { | |
6bd70b95 | 18192 | "allowtoken" : 1, |
9fda36b0 DM |
18193 | "description" : "Get Virus Quarantine Status", |
18194 | "method" : "GET", | |
18195 | "name" : "virusstatus", | |
18196 | "parameters" : { | |
18197 | "additionalProperties" : 0 | |
18198 | }, | |
18199 | "permissions" : { | |
18200 | "check" : [ | |
18201 | "admin", | |
18202 | "qmanager", | |
18203 | "audit" | |
18204 | ] | |
18205 | }, | |
18206 | "returns" : { | |
18207 | "properties" : { | |
18208 | "avgbytes" : { | |
18209 | "description" : "Average size of stored mails in bytes.", | |
18210 | "type" : "number" | |
18211 | }, | |
18212 | "count" : { | |
18213 | "description" : "Number of stored mails.", | |
18214 | "type" : "integer" | |
18215 | }, | |
18216 | "mbytes" : { | |
18217 | "description" : "Estimated disk space usage in MByte.", | |
18218 | "type" : "number" | |
d7cd791b | 18219 | } |
9fda36b0 DM |
18220 | }, |
18221 | "type" : "object" | |
18222 | } | |
d7cd791b | 18223 | } |
9fda36b0 DM |
18224 | }, |
18225 | "leaf" : 1, | |
18226 | "path" : "/quarantine/virusstatus", | |
18227 | "text" : "virusstatus" | |
18228 | }, | |
18229 | { | |
d7cd791b DM |
18230 | "info" : { |
18231 | "GET" : { | |
6bd70b95 | 18232 | "allowtoken" : 1, |
9fda36b0 | 18233 | "description" : "Get email data. There is a special formatter called 'htmlmail' to get sanitized html view of the mail content (use the '/api2/htmlmail/quarantine/content' url).", |
d7cd791b | 18234 | "method" : "GET", |
9fda36b0 | 18235 | "name" : "content", |
d7cd791b DM |
18236 | "parameters" : { |
18237 | "additionalProperties" : 0, | |
18238 | "properties" : { | |
9fda36b0 DM |
18239 | "id" : { |
18240 | "description" : "Unique ID", | |
274b47fc DM |
18241 | "maxLength" : 60, |
18242 | "pattern" : "C\\d+R\\d+T\\d+", | |
9fda36b0 DM |
18243 | "type" : "string" |
18244 | }, | |
18245 | "raw" : { | |
18246 | "default" : 0, | |
241ac83c | 18247 | "description" : "Display 'raw' eml data. Deactivates size limit.", |
9fda36b0 DM |
18248 | "optional" : 1, |
18249 | "type" : "boolean", | |
18250 | "typetext" : "<boolean>" | |
d7cd791b DM |
18251 | } |
18252 | } | |
18253 | }, | |
18254 | "permissions" : { | |
9fda36b0 DM |
18255 | "check" : [ |
18256 | "admin", | |
18257 | "qmanager", | |
18258 | "audit", | |
18259 | "quser" | |
18260 | ] | |
d7cd791b DM |
18261 | }, |
18262 | "returns" : { | |
9fda36b0 DM |
18263 | "properties" : { |
18264 | "bytes" : { | |
18265 | "description" : "Size of raw email.", | |
18266 | "type" : "integer" | |
18267 | }, | |
18268 | "content" : { | |
18269 | "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.", | |
18270 | "type" : "string" | |
18271 | }, | |
18272 | "envelope_sender" : { | |
18273 | "description" : "SMTP envelope sender.", | |
18274 | "type" : "string" | |
18275 | }, | |
18276 | "from" : { | |
18277 | "description" : "Header 'From' field.", | |
18278 | "type" : "string" | |
18279 | }, | |
18280 | "header" : { | |
18281 | "description" : "Raw email header data.", | |
18282 | "type" : "string" | |
18283 | }, | |
18284 | "id" : { | |
18285 | "description" : "Unique ID", | |
18286 | "type" : "string" | |
18287 | }, | |
18288 | "receiver" : { | |
18289 | "description" : "Receiver email address", | |
18290 | "type" : "string" | |
18291 | }, | |
18292 | "sender" : { | |
18293 | "description" : "Header 'Sender' field.", | |
18294 | "optional" : 1, | |
18295 | "type" : "string" | |
18296 | }, | |
18297 | "spaminfo" : { | |
18298 | "description" : "Information about matched spam tests (name, score, desc, url).", | |
18299 | "type" : "array" | |
18300 | }, | |
18301 | "spamlevel" : { | |
18302 | "description" : "Spam score.", | |
18303 | "type" : "number" | |
18304 | }, | |
18305 | "subject" : { | |
18306 | "description" : "Header 'Subject' field.", | |
18307 | "type" : "string" | |
18308 | }, | |
18309 | "time" : { | |
18310 | "description" : "Receive time stamp", | |
18311 | "type" : "integer" | |
18312 | } | |
d7cd791b | 18313 | }, |
9fda36b0 DM |
18314 | "type" : "object" |
18315 | } | |
18316 | }, | |
18317 | "POST" : { | |
6bd70b95 | 18318 | "allowtoken" : 1, |
9fda36b0 DM |
18319 | "description" : "Execute quarantine actions.", |
18320 | "method" : "POST", | |
18321 | "name" : "action", | |
18322 | "parameters" : { | |
18323 | "additionalProperties" : 0, | |
18324 | "properties" : { | |
18325 | "action" : { | |
18326 | "description" : "Action - specify what you want to do with the mail.", | |
18327 | "enum" : [ | |
18328 | "whitelist", | |
18329 | "blacklist", | |
18330 | "deliver", | |
18331 | "delete" | |
18332 | ], | |
18333 | "type" : "string" | |
18334 | }, | |
18335 | "id" : { | |
d8212759 | 18336 | "description" : "Unique IDs, separate with ;", |
445686c9 | 18337 | "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*", |
9fda36b0 | 18338 | "type" : "string" |
410dc2c9 | 18339 | } |
9fda36b0 DM |
18340 | } |
18341 | }, | |
18342 | "permissions" : { | |
18343 | "check" : [ | |
18344 | "admin", | |
18345 | "qmanager", | |
18346 | "quser" | |
18347 | ] | |
18348 | }, | |
18349 | "protected" : 1, | |
18350 | "returns" : { | |
18351 | "type" : "null" | |
410dc2c9 DM |
18352 | } |
18353 | } | |
18354 | }, | |
9fda36b0 DM |
18355 | "leaf" : 1, |
18356 | "path" : "/quarantine/content", | |
18357 | "text" : "content" | |
d210277a TL |
18358 | }, |
18359 | { | |
18360 | "info" : { | |
18361 | "GET" : { | |
6bd70b95 | 18362 | "allowtoken" : 1, |
d210277a TL |
18363 | "description" : "Get Attachments for E-Mail in Quarantine.", |
18364 | "method" : "GET", | |
18365 | "name" : "listattachments", | |
18366 | "parameters" : { | |
18367 | "additionalProperties" : 0, | |
18368 | "properties" : { | |
18369 | "id" : { | |
18370 | "description" : "Unique ID", | |
18371 | "maxLength" : 60, | |
18372 | "pattern" : "C\\d+R\\d+T\\d+", | |
18373 | "type" : "string" | |
18374 | } | |
18375 | } | |
18376 | }, | |
18377 | "permissions" : { | |
18378 | "check" : [ | |
18379 | "admin", | |
18380 | "qmanager", | |
f4831d94 TL |
18381 | "audit", |
18382 | "quser" | |
d210277a TL |
18383 | ] |
18384 | }, | |
18385 | "returns" : { | |
18386 | "items" : { | |
18387 | "properties" : { | |
18388 | "content-type" : { | |
18389 | "description" : "Raw email header data.", | |
18390 | "type" : "string" | |
18391 | }, | |
18392 | "id" : { | |
18393 | "description" : "Attachment ID", | |
18394 | "type" : "integer" | |
18395 | }, | |
18396 | "name" : { | |
18397 | "description" : "Raw email header data.", | |
18398 | "type" : "string" | |
18399 | }, | |
18400 | "size" : { | |
18401 | "description" : "Size of raw attachment in bytes.", | |
18402 | "type" : "integer" | |
18403 | } | |
18404 | }, | |
18405 | "type" : "object" | |
18406 | }, | |
18407 | "type" : "array" | |
18408 | } | |
18409 | } | |
18410 | }, | |
18411 | "leaf" : 1, | |
18412 | "path" : "/quarantine/listattachments", | |
18413 | "text" : "listattachments" | |
18414 | }, | |
18415 | { | |
18416 | "info" : { | |
18417 | "GET" : { | |
6bd70b95 | 18418 | "allowtoken" : 1, |
d210277a TL |
18419 | "description" : "Download E-Mail or Attachment from Quarantine.", |
18420 | "download" : 1, | |
18421 | "method" : "GET", | |
18422 | "name" : "download", | |
18423 | "parameters" : { | |
18424 | "additionalProperties" : 0, | |
18425 | "properties" : { | |
18426 | "attachmentid" : { | |
18427 | "description" : "The Attachment ID for the mail.", | |
18428 | "optional" : 1, | |
18429 | "type" : "integer", | |
18430 | "typetext" : "<integer>" | |
18431 | }, | |
18432 | "mailid" : { | |
18433 | "description" : "Unique ID", | |
18434 | "maxLength" : 60, | |
18435 | "pattern" : "C\\d+R\\d+T\\d+", | |
18436 | "type" : "string" | |
18437 | } | |
18438 | } | |
18439 | }, | |
18440 | "permissions" : { | |
18441 | "check" : [ | |
18442 | "admin", | |
18443 | "qmanager", | |
18444 | "audit", | |
18445 | "quser" | |
18446 | ] | |
18447 | }, | |
18448 | "returns" : { | |
18449 | "type" : "object" | |
18450 | } | |
18451 | } | |
18452 | }, | |
18453 | "leaf" : 1, | |
18454 | "path" : "/quarantine/download", | |
18455 | "text" : "download" | |
ab2b846b TL |
18456 | }, |
18457 | { | |
18458 | "info" : { | |
18459 | "POST" : { | |
18460 | "allowtoken" : 1, | |
18461 | "description" : "Send Quarantine link to given e-mail.", | |
18462 | "method" : "POST", | |
18463 | "name" : "sendlink", | |
18464 | "parameters" : { | |
18465 | "additionalProperties" : 0, | |
18466 | "properties" : { | |
18467 | "mail" : { | |
18468 | "description" : "Email Address (allow most characters).", | |
18469 | "maxLength" : 512, | |
18470 | "minLength" : 3, | |
c5ccf1ab | 18471 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", |
ab2b846b TL |
18472 | "type" : "string" |
18473 | } | |
18474 | } | |
18475 | }, | |
18476 | "permissions" : { | |
18477 | "user" : "world" | |
18478 | }, | |
18479 | "protected" : 1, | |
18480 | "returns" : { | |
18481 | "type" : "null" | |
18482 | } | |
18483 | } | |
18484 | }, | |
18485 | "leaf" : 1, | |
18486 | "path" : "/quarantine/sendlink", | |
18487 | "text" : "sendlink" | |
410dc2c9 DM |
18488 | } |
18489 | ], | |
18490 | "info" : { | |
18491 | "GET" : { | |
6bd70b95 | 18492 | "allowtoken" : 1, |
9fda36b0 | 18493 | "description" : "Directory index.", |
410dc2c9 DM |
18494 | "method" : "GET", |
18495 | "name" : "index", | |
18496 | "parameters" : { | |
18497 | "additionalProperties" : 0 | |
18498 | }, | |
18499 | "permissions" : { | |
18500 | "user" : "all" | |
18501 | }, | |
18502 | "returns" : { | |
18503 | "items" : { | |
18504 | "properties" : {}, | |
18505 | "type" : "object" | |
18506 | }, | |
18507 | "links" : [ | |
18508 | { | |
9fda36b0 | 18509 | "href" : "{name}", |
410dc2c9 DM |
18510 | "rel" : "child" |
18511 | } | |
18512 | ], | |
18513 | "type" : "array" | |
18514 | } | |
18515 | } | |
18516 | }, | |
18517 | "leaf" : 0, | |
9fda36b0 DM |
18518 | "path" : "/quarantine", |
18519 | "text" : "quarantine" | |
410dc2c9 DM |
18520 | }, |
18521 | { | |
18522 | "children" : [ | |
a55e94a6 | 18523 | { |
a55e94a6 DM |
18524 | "info" : { |
18525 | "GET" : { | |
6bd70b95 | 18526 | "allowtoken" : 1, |
9fda36b0 | 18527 | "description" : "Contact Address Statistics.", |
a55e94a6 | 18528 | "method" : "GET", |
9fda36b0 | 18529 | "name" : "contact", |
a55e94a6 DM |
18530 | "parameters" : { |
18531 | "additionalProperties" : 0, | |
18532 | "properties" : { | |
9fda36b0 DM |
18533 | "day" : { |
18534 | "description" : "Day of month. Get statistics for a single day.", | |
18535 | "maximum" : 31, | |
18536 | "minimum" : 1, | |
a55e94a6 DM |
18537 | "optional" : 1, |
18538 | "type" : "integer", | |
9fda36b0 | 18539 | "typetext" : "<integer> (1 - 31)" |
a55e94a6 | 18540 | }, |
9fda36b0 DM |
18541 | "endtime" : { |
18542 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18543 | "minimum" : 1, | |
410dc2c9 | 18544 | "optional" : 1, |
9fda36b0 DM |
18545 | "type" : "integer", |
18546 | "typetext" : "<integer> (1 - N)" | |
410dc2c9 | 18547 | }, |
9fda36b0 DM |
18548 | "filter" : { |
18549 | "description" : "Contact address filter.", | |
18550 | "maxLength" : 512, | |
18551 | "optional" : 1, | |
410dc2c9 DM |
18552 | "type" : "string", |
18553 | "typetext" : "<string>" | |
18554 | }, | |
9fda36b0 DM |
18555 | "month" : { |
18556 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
18557 | "maximum" : 12, | |
18558 | "minimum" : 1, | |
410dc2c9 | 18559 | "optional" : 1, |
9fda36b0 DM |
18560 | "type" : "integer", |
18561 | "typetext" : "<integer> (1 - 12)" | |
410dc2c9 | 18562 | }, |
9fda36b0 DM |
18563 | "orderby" : { |
18564 | "description" : "Remote sorting configuration(JSON, ExtJS compatible).", | |
18565 | "maxLength" : 4096, | |
18566 | "optional" : 1, | |
410dc2c9 DM |
18567 | "type" : "string", |
18568 | "typetext" : "<string>" | |
9fda36b0 DM |
18569 | }, |
18570 | "starttime" : { | |
18571 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18572 | "minimum" : 0, | |
18573 | "optional" : 1, | |
18574 | "type" : "integer", | |
18575 | "typetext" : "<integer> (0 - N)" | |
18576 | }, | |
18577 | "year" : { | |
18578 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
18579 | "maximum" : 3000, | |
18580 | "minimum" : 1900, | |
18581 | "optional" : 1, | |
18582 | "type" : "integer", | |
18583 | "typetext" : "<integer> (1900 - 3000)" | |
410dc2c9 DM |
18584 | } |
18585 | } | |
18586 | }, | |
18587 | "permissions" : { | |
9fda36b0 DM |
18588 | "check" : [ |
18589 | "admin", | |
18590 | "qmanager", | |
18591 | "audit" | |
18592 | ] | |
410dc2c9 | 18593 | }, |
410dc2c9 | 18594 | "returns" : { |
9fda36b0 DM |
18595 | "items" : { |
18596 | "properties" : { | |
18597 | "bytes" : { | |
18598 | "description" : "Mail traffic (Bytes).", | |
18599 | "type" : "number" | |
18600 | }, | |
18601 | "contact" : { | |
18602 | "description" : "Contact email.", | |
18603 | "type" : "string" | |
18604 | }, | |
18605 | "count" : { | |
18606 | "description" : "Mail count.", | |
18607 | "optional" : 1, | |
18608 | "type" : "number" | |
18609 | }, | |
18610 | "viruscount" : { | |
18611 | "description" : "Number of sent virus mails.", | |
18612 | "optional" : 1, | |
18613 | "type" : "number" | |
18614 | } | |
410dc2c9 | 18615 | }, |
9fda36b0 | 18616 | "type" : "object" |
410dc2c9 | 18617 | }, |
9fda36b0 DM |
18618 | "links" : [ |
18619 | { | |
18620 | "href" : "{contact}", | |
18621 | "rel" : "child" | |
18622 | } | |
18623 | ], | |
18624 | "type" : "array" | |
410dc2c9 DM |
18625 | } |
18626 | } | |
18627 | }, | |
14ffe66b | 18628 | "leaf" : 1, |
9fda36b0 DM |
18629 | "path" : "/statistics/contact", |
18630 | "text" : "contact" | |
410dc2c9 | 18631 | }, |
c5ccf1ab TL |
18632 | { |
18633 | "info" : { | |
18634 | "GET" : { | |
18635 | "allowtoken" : 1, | |
18636 | "description" : "Detailed Statistics.", | |
18637 | "method" : "GET", | |
18638 | "name" : "detailstats", | |
18639 | "parameters" : { | |
18640 | "additionalProperties" : 0, | |
18641 | "properties" : { | |
18642 | "address" : { | |
18643 | "description" : "Email address.", | |
18644 | "maxLength" : 512, | |
18645 | "minLength" : 3, | |
18646 | "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)", | |
18647 | "type" : "string" | |
18648 | }, | |
18649 | "day" : { | |
18650 | "description" : "Day of month. Get statistics for a single day.", | |
18651 | "maximum" : 31, | |
18652 | "minimum" : 1, | |
18653 | "optional" : 1, | |
18654 | "type" : "integer", | |
18655 | "typetext" : "<integer> (1 - 31)" | |
18656 | }, | |
18657 | "endtime" : { | |
18658 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18659 | "minimum" : 1, | |
18660 | "optional" : 1, | |
18661 | "type" : "integer", | |
18662 | "typetext" : "<integer> (1 - N)" | |
18663 | }, | |
18664 | "filter" : { | |
18665 | "description" : "Address filter.", | |
18666 | "maxLength" : 512, | |
18667 | "optional" : 1, | |
18668 | "type" : "string", | |
18669 | "typetext" : "<string>" | |
18670 | }, | |
18671 | "month" : { | |
18672 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
18673 | "maximum" : 12, | |
18674 | "minimum" : 1, | |
18675 | "optional" : 1, | |
18676 | "type" : "integer", | |
18677 | "typetext" : "<integer> (1 - 12)" | |
18678 | }, | |
18679 | "orderby" : { | |
18680 | "description" : "Remote sorting configuration(JSON, ExtJS compatible).", | |
18681 | "maxLength" : 4096, | |
18682 | "optional" : 1, | |
18683 | "type" : "string", | |
18684 | "typetext" : "<string>" | |
18685 | }, | |
18686 | "starttime" : { | |
18687 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18688 | "minimum" : 0, | |
18689 | "optional" : 1, | |
18690 | "type" : "integer", | |
18691 | "typetext" : "<integer> (0 - N)" | |
18692 | }, | |
18693 | "type" : { | |
18694 | "description" : "Type of statistics", | |
18695 | "enum" : [ | |
18696 | "contact", | |
18697 | "sender", | |
18698 | "receiver" | |
18699 | ], | |
18700 | "type" : "string" | |
18701 | }, | |
18702 | "year" : { | |
18703 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
18704 | "maximum" : 3000, | |
18705 | "minimum" : 1900, | |
18706 | "optional" : 1, | |
18707 | "type" : "integer", | |
18708 | "typetext" : "<integer> (1900 - 3000)" | |
18709 | } | |
18710 | } | |
18711 | }, | |
18712 | "permissions" : { | |
18713 | "check" : [ | |
18714 | "admin", | |
18715 | "qmanager", | |
18716 | "audit" | |
18717 | ] | |
18718 | }, | |
18719 | "returns" : { | |
18720 | "items" : { | |
18721 | "properties" : { | |
18722 | "blocked" : { | |
18723 | "description" : "Mail was blocked.", | |
18724 | "type" : "boolean" | |
18725 | }, | |
18726 | "bytes" : { | |
18727 | "description" : "Mail traffic (Bytes).", | |
18728 | "type" : "number" | |
18729 | }, | |
18730 | "receiver" : { | |
18731 | "description" : "Receiver email. (for sender statistics)", | |
18732 | "optional" : 1, | |
18733 | "type" : "string" | |
18734 | }, | |
18735 | "sender" : { | |
18736 | "description" : "Sender email. (for contact and receiver statistics)", | |
18737 | "optional" : 1, | |
18738 | "type" : "string" | |
18739 | }, | |
18740 | "spamlevel" : { | |
18741 | "description" : "Spam score.", | |
18742 | "type" : "number" | |
18743 | }, | |
18744 | "time" : { | |
18745 | "description" : "Receive time stamp", | |
18746 | "type" : "integer" | |
18747 | }, | |
18748 | "virusinfo" : { | |
18749 | "description" : "Virus name.", | |
18750 | "optional" : 1, | |
18751 | "type" : "string" | |
18752 | } | |
18753 | }, | |
18754 | "type" : "object" | |
18755 | }, | |
18756 | "type" : "array" | |
18757 | } | |
18758 | } | |
18759 | }, | |
18760 | "leaf" : 1, | |
18761 | "path" : "/statistics/detail", | |
18762 | "text" : "detail" | |
18763 | }, | |
410dc2c9 DM |
18764 | { |
18765 | "info" : { | |
9fda36b0 | 18766 | "GET" : { |
6bd70b95 | 18767 | "allowtoken" : 1, |
9fda36b0 DM |
18768 | "description" : "Sender Address Statistics.", |
18769 | "method" : "GET", | |
18770 | "name" : "sender", | |
410dc2c9 DM |
18771 | "parameters" : { |
18772 | "additionalProperties" : 0, | |
18773 | "properties" : { | |
9fda36b0 DM |
18774 | "day" : { |
18775 | "description" : "Day of month. Get statistics for a single day.", | |
18776 | "maximum" : 31, | |
18777 | "minimum" : 1, | |
18778 | "optional" : 1, | |
18779 | "type" : "integer", | |
18780 | "typetext" : "<integer> (1 - 31)" | |
18781 | }, | |
18782 | "endtime" : { | |
18783 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18784 | "minimum" : 1, | |
18785 | "optional" : 1, | |
18786 | "type" : "integer", | |
18787 | "typetext" : "<integer> (1 - N)" | |
18788 | }, | |
18789 | "filter" : { | |
18790 | "description" : "Sender address filter.", | |
18791 | "maxLength" : 512, | |
18792 | "optional" : 1, | |
410dc2c9 DM |
18793 | "type" : "string", |
18794 | "typetext" : "<string>" | |
18795 | }, | |
9fda36b0 DM |
18796 | "month" : { |
18797 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
18798 | "maximum" : 12, | |
18799 | "minimum" : 1, | |
18800 | "optional" : 1, | |
18801 | "type" : "integer", | |
18802 | "typetext" : "<integer> (1 - 12)" | |
18803 | }, | |
18804 | "orderby" : { | |
18805 | "description" : "Remote sorting configuration(JSON, ExtJS compatible).", | |
18806 | "maxLength" : 4096, | |
18807 | "optional" : 1, | |
410dc2c9 DM |
18808 | "type" : "string", |
18809 | "typetext" : "<string>" | |
9fda36b0 DM |
18810 | }, |
18811 | "starttime" : { | |
18812 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18813 | "minimum" : 0, | |
18814 | "optional" : 1, | |
18815 | "type" : "integer", | |
18816 | "typetext" : "<integer> (0 - N)" | |
18817 | }, | |
18818 | "year" : { | |
18819 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
18820 | "maximum" : 3000, | |
18821 | "minimum" : 1900, | |
18822 | "optional" : 1, | |
18823 | "type" : "integer", | |
18824 | "typetext" : "<integer> (1900 - 3000)" | |
410dc2c9 DM |
18825 | } |
18826 | } | |
18827 | }, | |
a55e94a6 | 18828 | "permissions" : { |
9fda36b0 DM |
18829 | "check" : [ |
18830 | "admin", | |
18831 | "qmanager", | |
18832 | "audit" | |
18833 | ] | |
a55e94a6 | 18834 | }, |
410dc2c9 | 18835 | "returns" : { |
9fda36b0 DM |
18836 | "items" : { |
18837 | "properties" : { | |
18838 | "bytes" : { | |
18839 | "description" : "Mail traffic (Bytes).", | |
18840 | "type" : "number" | |
18841 | }, | |
18842 | "count" : { | |
18843 | "description" : "Mail count.", | |
18844 | "optional" : 1, | |
18845 | "type" : "number" | |
18846 | }, | |
18847 | "sender" : { | |
18848 | "description" : "Sender email.", | |
18849 | "type" : "string" | |
18850 | }, | |
18851 | "viruscount" : { | |
18852 | "description" : "Number of sent virus mails.", | |
18853 | "optional" : 1, | |
18854 | "type" : "number" | |
18855 | } | |
18856 | }, | |
18857 | "type" : "object" | |
18858 | }, | |
18859 | "links" : [ | |
18860 | { | |
18861 | "href" : "{sender}", | |
18862 | "rel" : "child" | |
18863 | } | |
18864 | ], | |
18865 | "type" : "array" | |
410dc2c9 | 18866 | } |
9fda36b0 DM |
18867 | } |
18868 | }, | |
14ffe66b | 18869 | "leaf" : 1, |
9fda36b0 DM |
18870 | "path" : "/statistics/sender", |
18871 | "text" : "sender" | |
18872 | }, | |
d7cd791b | 18873 | { |
d7cd791b DM |
18874 | "info" : { |
18875 | "GET" : { | |
6bd70b95 | 18876 | "allowtoken" : 1, |
9fda36b0 | 18877 | "description" : "Receiver Address Statistics.", |
d7cd791b | 18878 | "method" : "GET", |
9fda36b0 | 18879 | "name" : "receiver", |
d7cd791b DM |
18880 | "parameters" : { |
18881 | "additionalProperties" : 0, | |
18882 | "properties" : { | |
9fda36b0 DM |
18883 | "day" : { |
18884 | "description" : "Day of month. Get statistics for a single day.", | |
18885 | "maximum" : 31, | |
18886 | "minimum" : 1, | |
18887 | "optional" : 1, | |
18888 | "type" : "integer", | |
18889 | "typetext" : "<integer> (1 - 31)" | |
18890 | }, | |
18891 | "endtime" : { | |
18892 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
18893 | "minimum" : 1, | |
18894 | "optional" : 1, | |
18895 | "type" : "integer", | |
18896 | "typetext" : "<integer> (1 - N)" | |
18897 | }, | |
18898 | "filter" : { | |
18899 | "description" : "Receiver address filter.", | |
18900 | "maxLength" : 512, | |
18901 | "optional" : 1, | |
18902 | "type" : "string", | |
18903 | "typetext" : "<string>" | |
18904 | }, | |
18905 | "month" : { | |
18906 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
18907 | "maximum" : 12, | |
18908 | "minimum" : 1, | |
18909 | "optional" : 1, | |
18910 | "type" : "integer", | |
18911 | "typetext" : "<integer> (1 - 12)" | |
18912 | }, | |
18913 | "orderby" : { | |
18914 | "description" : "Remote sorting configuration(JSON, ExtJS compatible).", | |
18915 | "maxLength" : 4096, | |
d7cd791b DM |
18916 | "optional" : 1, |
18917 | "type" : "string", | |
18918 | "typetext" : "<string>" | |
9fda36b0 DM |
18919 | }, |
18920 | "starttime" : { | |
18921 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
18922 | "minimum" : 0, | |
18923 | "optional" : 1, | |
18924 | "type" : "integer", | |
18925 | "typetext" : "<integer> (0 - N)" | |
18926 | }, | |
18927 | "year" : { | |
18928 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
18929 | "maximum" : 3000, | |
18930 | "minimum" : 1900, | |
18931 | "optional" : 1, | |
18932 | "type" : "integer", | |
18933 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
18934 | } |
18935 | } | |
18936 | }, | |
18937 | "permissions" : { | |
18938 | "check" : [ | |
18939 | "admin", | |
18940 | "qmanager", | |
9fda36b0 | 18941 | "audit" |
d7cd791b DM |
18942 | ] |
18943 | }, | |
18944 | "returns" : { | |
18945 | "items" : { | |
18946 | "properties" : { | |
9fda36b0 DM |
18947 | "bytes" : { |
18948 | "description" : "Mail traffic (Bytes).", | |
18949 | "type" : "number" | |
18950 | }, | |
18951 | "count" : { | |
18952 | "description" : "Mail count.", | |
18953 | "optional" : 1, | |
18954 | "type" : "number" | |
18955 | }, | |
18956 | "receiver" : { | |
18957 | "description" : "Sender email.", | |
d7cd791b | 18958 | "type" : "string" |
9fda36b0 DM |
18959 | }, |
18960 | "spamcount" : { | |
18961 | "description" : "Number of sent spam mails.", | |
18962 | "optional" : 1, | |
18963 | "type" : "number" | |
18964 | }, | |
18965 | "viruscount" : { | |
18966 | "description" : "Number of sent virus mails.", | |
18967 | "optional" : 1, | |
18968 | "type" : "number" | |
d7cd791b DM |
18969 | } |
18970 | }, | |
18971 | "type" : "object" | |
18972 | }, | |
9fda36b0 DM |
18973 | "links" : [ |
18974 | { | |
18975 | "href" : "{receiver}", | |
18976 | "rel" : "child" | |
d7cd791b | 18977 | } |
9fda36b0 DM |
18978 | ], |
18979 | "type" : "array" | |
d7cd791b DM |
18980 | } |
18981 | } | |
18982 | }, | |
14ffe66b | 18983 | "leaf" : 1, |
9fda36b0 DM |
18984 | "path" : "/statistics/receiver", |
18985 | "text" : "receiver" | |
d7cd791b DM |
18986 | }, |
18987 | { | |
d7cd791b DM |
18988 | "info" : { |
18989 | "GET" : { | |
6bd70b95 | 18990 | "allowtoken" : 1, |
9fda36b0 | 18991 | "description" : "Mail Domains Statistics.", |
d7cd791b | 18992 | "method" : "GET", |
9fda36b0 | 18993 | "name" : "domains", |
d7cd791b DM |
18994 | "parameters" : { |
18995 | "additionalProperties" : 0, | |
18996 | "properties" : { | |
9fda36b0 DM |
18997 | "day" : { |
18998 | "description" : "Day of month. Get statistics for a single day.", | |
18999 | "maximum" : 31, | |
19000 | "minimum" : 1, | |
19001 | "optional" : 1, | |
19002 | "type" : "integer", | |
19003 | "typetext" : "<integer> (1 - 31)" | |
19004 | }, | |
19005 | "endtime" : { | |
19006 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19007 | "minimum" : 1, | |
19008 | "optional" : 1, | |
19009 | "type" : "integer", | |
19010 | "typetext" : "<integer> (1 - N)" | |
19011 | }, | |
19012 | "month" : { | |
19013 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19014 | "maximum" : 12, | |
19015 | "minimum" : 1, | |
19016 | "optional" : 1, | |
19017 | "type" : "integer", | |
19018 | "typetext" : "<integer> (1 - 12)" | |
19019 | }, | |
19020 | "starttime" : { | |
19021 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19022 | "minimum" : 0, | |
d7cd791b | 19023 | "optional" : 1, |
9fda36b0 DM |
19024 | "type" : "integer", |
19025 | "typetext" : "<integer> (0 - N)" | |
19026 | }, | |
19027 | "year" : { | |
19028 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19029 | "maximum" : 3000, | |
19030 | "minimum" : 1900, | |
19031 | "optional" : 1, | |
19032 | "type" : "integer", | |
19033 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19034 | } |
19035 | } | |
19036 | }, | |
19037 | "permissions" : { | |
19038 | "check" : [ | |
19039 | "admin", | |
19040 | "qmanager", | |
9fda36b0 | 19041 | "audit" |
d7cd791b DM |
19042 | ] |
19043 | }, | |
19044 | "returns" : { | |
19045 | "items" : { | |
19046 | "properties" : { | |
274b47fc DM |
19047 | "bytes_in" : { |
19048 | "description" : "Incoming mail traffic (Bytes).", | |
19049 | "type" : "number" | |
19050 | }, | |
19051 | "bytes_out" : { | |
19052 | "description" : "Outgoing mail traffic (Bytes).", | |
19053 | "type" : "number" | |
19054 | }, | |
9fda36b0 DM |
19055 | "count_in" : { |
19056 | "description" : "Incoming mail count.", | |
19057 | "type" : "number" | |
19058 | }, | |
19059 | "count_out" : { | |
19060 | "description" : "Outgoing mail count.", | |
19061 | "type" : "number" | |
19062 | }, | |
19063 | "domain" : { | |
19064 | "description" : "Domain name.", | |
d7cd791b | 19065 | "type" : "string" |
9fda36b0 | 19066 | }, |
9fda36b0 DM |
19067 | "spamcount_in" : { |
19068 | "description" : "Incoming spam mails.", | |
19069 | "type" : "number" | |
19070 | }, | |
19071 | "spamcount_out" : { | |
19072 | "description" : "Outgoing spam mails.", | |
19073 | "type" : "number" | |
19074 | }, | |
19075 | "viruscount_in" : { | |
19076 | "description" : "Number of incoming virus mails.", | |
19077 | "type" : "number" | |
19078 | }, | |
19079 | "viruscount_out" : { | |
19080 | "description" : "Number of outgoing virus mails.", | |
19081 | "type" : "number" | |
d7cd791b DM |
19082 | } |
19083 | }, | |
19084 | "type" : "object" | |
19085 | }, | |
19086 | "type" : "array" | |
19087 | } | |
9fda36b0 DM |
19088 | } |
19089 | }, | |
19090 | "leaf" : 1, | |
19091 | "path" : "/statistics/domains", | |
19092 | "text" : "domains" | |
19093 | }, | |
19094 | { | |
19095 | "info" : { | |
19096 | "GET" : { | |
6bd70b95 | 19097 | "allowtoken" : 1, |
9fda36b0 DM |
19098 | "description" : "General Mail Statistics.", |
19099 | "method" : "GET", | |
19100 | "name" : "mail", | |
d7cd791b DM |
19101 | "parameters" : { |
19102 | "additionalProperties" : 0, | |
19103 | "properties" : { | |
9fda36b0 DM |
19104 | "day" : { |
19105 | "description" : "Day of month. Get statistics for a single day.", | |
19106 | "maximum" : 31, | |
19107 | "minimum" : 1, | |
19108 | "optional" : 1, | |
19109 | "type" : "integer", | |
19110 | "typetext" : "<integer> (1 - 31)" | |
d7cd791b | 19111 | }, |
9fda36b0 DM |
19112 | "endtime" : { |
19113 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19114 | "minimum" : 1, | |
d7cd791b | 19115 | "optional" : 1, |
9fda36b0 DM |
19116 | "type" : "integer", |
19117 | "typetext" : "<integer> (1 - N)" | |
19118 | }, | |
19119 | "month" : { | |
19120 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19121 | "maximum" : 12, | |
19122 | "minimum" : 1, | |
19123 | "optional" : 1, | |
19124 | "type" : "integer", | |
19125 | "typetext" : "<integer> (1 - 12)" | |
19126 | }, | |
19127 | "starttime" : { | |
19128 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19129 | "minimum" : 0, | |
19130 | "optional" : 1, | |
19131 | "type" : "integer", | |
19132 | "typetext" : "<integer> (0 - N)" | |
19133 | }, | |
19134 | "year" : { | |
19135 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19136 | "maximum" : 3000, | |
19137 | "minimum" : 1900, | |
19138 | "optional" : 1, | |
19139 | "type" : "integer", | |
19140 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19141 | } |
19142 | } | |
19143 | }, | |
19144 | "permissions" : { | |
19145 | "check" : [ | |
19146 | "admin", | |
19147 | "qmanager", | |
9fda36b0 | 19148 | "audit" |
d7cd791b DM |
19149 | ] |
19150 | }, | |
d7cd791b | 19151 | "returns" : { |
9fda36b0 DM |
19152 | "properties" : { |
19153 | "avptime" : { | |
19154 | "description" : "Average mail processing time in seconds.", | |
19155 | "type" : "number" | |
19156 | }, | |
19157 | "bounces_in" : { | |
19158 | "description" : "Incoming bounce mail count (sender = <>).", | |
19159 | "type" : "number" | |
19160 | }, | |
19161 | "bounces_out" : { | |
19162 | "description" : "Outgoing bounce mail count (sender = <>).", | |
19163 | "type" : "number" | |
19164 | }, | |
19165 | "bytes_in" : { | |
19166 | "description" : "Incoming mail traffic (bytes).", | |
19167 | "type" : "number" | |
19168 | }, | |
19169 | "bytes_out" : { | |
19170 | "description" : "Outgoing mail traffic (bytes).", | |
19171 | "type" : "number" | |
19172 | }, | |
19173 | "count" : { | |
19174 | "description" : "Overall mail count (in and out).", | |
19175 | "type" : "number" | |
19176 | }, | |
19177 | "count_in" : { | |
19178 | "description" : "Incoming mail count.", | |
19179 | "type" : "number" | |
19180 | }, | |
19181 | "count_out" : { | |
19182 | "description" : "Outgoing mail count.", | |
19183 | "type" : "number" | |
19184 | }, | |
19185 | "glcount" : { | |
19186 | "description" : "Number of greylisted mails.", | |
19187 | "type" : "number" | |
19188 | }, | |
19189 | "junk_in" : { | |
274b47fc | 19190 | "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).", |
9fda36b0 DM |
19191 | "type" : "number" |
19192 | }, | |
19193 | "junk_out" : { | |
19194 | "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).", | |
19195 | "type" : "number" | |
19196 | }, | |
274b47fc DM |
19197 | "pregreet_rejects" : { |
19198 | "description" : "PREGREET recject count.", | |
19199 | "type" : "integer" | |
19200 | }, | |
19201 | "rbl_rejects" : { | |
19202 | "description" : "Number of RBL rejects.", | |
19203 | "type" : "integer" | |
19204 | }, | |
9fda36b0 DM |
19205 | "spamcount_in" : { |
19206 | "description" : "Incoming spam mails.", | |
19207 | "type" : "number" | |
19208 | }, | |
19209 | "spamcount_out" : { | |
19210 | "description" : "Outgoing spam mails.", | |
19211 | "type" : "number" | |
19212 | }, | |
19213 | "spfcount" : { | |
19214 | "description" : "Mails rejected by SPF.", | |
19215 | "type" : "number" | |
19216 | }, | |
19217 | "viruscount_in" : { | |
19218 | "description" : "Number of incoming virus mails.", | |
19219 | "type" : "number" | |
19220 | }, | |
19221 | "viruscount_out" : { | |
19222 | "description" : "Number of outgoing virus mails.", | |
19223 | "type" : "number" | |
19224 | } | |
19225 | }, | |
19226 | "type" : "object" | |
d7cd791b DM |
19227 | } |
19228 | } | |
19229 | }, | |
9fda36b0 DM |
19230 | "leaf" : 1, |
19231 | "path" : "/statistics/mail", | |
19232 | "text" : "mail" | |
d7cd791b | 19233 | }, |
732d76e1 DM |
19234 | { |
19235 | "info" : { | |
19236 | "GET" : { | |
6bd70b95 | 19237 | "allowtoken" : 1, |
732d76e1 DM |
19238 | "description" : "Mail Count Statistics.", |
19239 | "method" : "GET", | |
19240 | "name" : "recent", | |
19241 | "parameters" : { | |
19242 | "additionalProperties" : 0, | |
19243 | "properties" : { | |
19244 | "hours" : { | |
19245 | "default" : 12, | |
19246 | "description" : "How many hours you want to get", | |
19247 | "maximum" : 24, | |
19248 | "minimum" : 1, | |
19249 | "optional" : 1, | |
19250 | "type" : "integer", | |
19251 | "typetext" : "<integer> (1 - 24)" | |
19252 | }, | |
19253 | "timespan" : { | |
19254 | "default" : 1800, | |
19255 | "description" : "The Timespan for one datapoint (in seconds)", | |
19256 | "maximum" : 1800, | |
19257 | "minimum" : 1, | |
19258 | "optional" : 1, | |
19259 | "type" : "integer", | |
19260 | "typetext" : "<integer> (1 - 1800)" | |
19261 | } | |
19262 | } | |
19263 | }, | |
19264 | "permissions" : { | |
19265 | "check" : [ | |
19266 | "admin", | |
19267 | "qmanager", | |
19268 | "audit" | |
19269 | ] | |
19270 | }, | |
19271 | "returns" : { | |
19272 | "items" : { | |
19273 | "properties" : { | |
19274 | "bytes_in" : { | |
19275 | "description" : "Number of incoming bytes mails.", | |
19276 | "type" : "number" | |
19277 | }, | |
19278 | "bytes_out" : { | |
19279 | "description" : "Number of outgoing bytes mails.", | |
19280 | "type" : "number" | |
19281 | }, | |
19282 | "count" : { | |
19283 | "description" : "Overall mail count (in and out).", | |
19284 | "type" : "number" | |
19285 | }, | |
19286 | "count_in" : { | |
19287 | "description" : "Incoming mail count.", | |
19288 | "type" : "number" | |
19289 | }, | |
19290 | "count_out" : { | |
19291 | "description" : "Outgoing mail count.", | |
19292 | "type" : "number" | |
19293 | }, | |
19294 | "index" : { | |
19295 | "description" : "Time index.", | |
19296 | "type" : "integer" | |
19297 | }, | |
19298 | "spam" : { | |
19299 | "description" : "Overall spam mail count (in and out).", | |
19300 | "type" : "number" | |
19301 | }, | |
19302 | "spam_in" : { | |
19303 | "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).", | |
19304 | "type" : "number" | |
19305 | }, | |
19306 | "spam_out" : { | |
19307 | "description" : "Outgoing spam mails.", | |
19308 | "type" : "number" | |
19309 | }, | |
19310 | "time" : { | |
19311 | "description" : "Time (Unix epoch).", | |
19312 | "type" : "integer" | |
19313 | }, | |
19314 | "timespan" : { | |
19315 | "description" : "Timespan in seconds for one data point", | |
19316 | "type" : "number" | |
19317 | }, | |
19318 | "virus_in" : { | |
19319 | "description" : "Number of incoming virus mails.", | |
19320 | "type" : "number" | |
19321 | }, | |
19322 | "virus_out" : { | |
19323 | "description" : "Number of outgoing virus mails.", | |
19324 | "type" : "number" | |
19325 | } | |
19326 | }, | |
19327 | "type" : "object" | |
19328 | }, | |
19329 | "type" : "array" | |
19330 | } | |
19331 | } | |
19332 | }, | |
19333 | "leaf" : 1, | |
19334 | "path" : "/statistics/recent", | |
19335 | "text" : "recent" | |
19336 | }, | |
19337 | { | |
19338 | "info" : { | |
19339 | "GET" : { | |
6bd70b95 | 19340 | "allowtoken" : 1, |
732d76e1 DM |
19341 | "description" : "Top recent Mail Receivers (including spam)", |
19342 | "method" : "GET", | |
19343 | "name" : "recentreceivers", | |
19344 | "parameters" : { | |
19345 | "additionalProperties" : 0, | |
19346 | "properties" : { | |
19347 | "hours" : { | |
19348 | "default" : 12, | |
19349 | "description" : "How many hours you want to get", | |
19350 | "maximum" : 24, | |
19351 | "minimum" : 1, | |
19352 | "optional" : 1, | |
19353 | "type" : "integer", | |
19354 | "typetext" : "<integer> (1 - 24)" | |
19355 | }, | |
19356 | "limit" : { | |
19357 | "default" : 5, | |
19358 | "description" : "The maximum number of receivers to return.", | |
19359 | "maximum" : 50, | |
19360 | "minimum" : 1, | |
19361 | "optional" : 1, | |
19362 | "type" : "integer", | |
19363 | "typetext" : "<integer> (1 - 50)" | |
19364 | } | |
19365 | } | |
19366 | }, | |
19367 | "permissions" : { | |
19368 | "check" : [ | |
19369 | "admin", | |
19370 | "qmanager", | |
19371 | "audit" | |
19372 | ] | |
19373 | }, | |
19374 | "returns" : { | |
19375 | "items" : { | |
19376 | "properties" : { | |
19377 | "count" : { | |
19378 | "description" : "The count of incoming not blocked E-Mails", | |
19379 | "type" : "integer" | |
19380 | }, | |
19381 | "receiver" : { | |
19382 | "description" : "The receiver", | |
19383 | "type" : "string" | |
19384 | } | |
19385 | }, | |
19386 | "type" : "object" | |
19387 | }, | |
19388 | "type" : "array" | |
19389 | } | |
19390 | } | |
19391 | }, | |
19392 | "leaf" : 1, | |
19393 | "path" : "/statistics/recentreceivers", | |
19394 | "text" : "recentreceivers" | |
19395 | }, | |
d7cd791b | 19396 | { |
9fda36b0 DM |
19397 | "info" : { |
19398 | "GET" : { | |
6bd70b95 | 19399 | "allowtoken" : 1, |
9fda36b0 DM |
19400 | "description" : "Mail Count Statistics.", |
19401 | "method" : "GET", | |
19402 | "name" : "mailcount", | |
19403 | "parameters" : { | |
19404 | "additionalProperties" : 0, | |
19405 | "properties" : { | |
19406 | "day" : { | |
19407 | "description" : "Day of month. Get statistics for a single day.", | |
19408 | "maximum" : 31, | |
19409 | "minimum" : 1, | |
19410 | "optional" : 1, | |
19411 | "type" : "integer", | |
19412 | "typetext" : "<integer> (1 - 31)" | |
d7cd791b | 19413 | }, |
9fda36b0 DM |
19414 | "endtime" : { |
19415 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19416 | "minimum" : 1, | |
19417 | "optional" : 1, | |
19418 | "type" : "integer", | |
19419 | "typetext" : "<integer> (1 - N)" | |
d7cd791b | 19420 | }, |
9fda36b0 DM |
19421 | "month" : { |
19422 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19423 | "maximum" : 12, | |
19424 | "minimum" : 1, | |
19425 | "optional" : 1, | |
19426 | "type" : "integer", | |
19427 | "typetext" : "<integer> (1 - 12)" | |
19428 | }, | |
19429 | "starttime" : { | |
19430 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19431 | "minimum" : 0, | |
19432 | "optional" : 1, | |
19433 | "type" : "integer", | |
19434 | "typetext" : "<integer> (0 - N)" | |
19435 | }, | |
19436 | "timespan" : { | |
19437 | "default" : 3600, | |
19438 | "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.", | |
19439 | "maximum" : 31622400, | |
19440 | "minimum" : 3600, | |
19441 | "optional" : 1, | |
19442 | "type" : "integer", | |
19443 | "typetext" : "<integer> (3600 - 31622400)" | |
19444 | }, | |
19445 | "year" : { | |
19446 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19447 | "maximum" : 3000, | |
19448 | "minimum" : 1900, | |
19449 | "optional" : 1, | |
19450 | "type" : "integer", | |
19451 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19452 | } |
19453 | } | |
19454 | }, | |
9fda36b0 DM |
19455 | "permissions" : { |
19456 | "check" : [ | |
19457 | "admin", | |
19458 | "qmanager", | |
19459 | "audit" | |
19460 | ] | |
19461 | }, | |
19462 | "returns" : { | |
19463 | "items" : { | |
19464 | "properties" : { | |
19465 | "bounces_in" : { | |
19466 | "description" : "Incoming bounce mail count (sender = <>).", | |
19467 | "type" : "number" | |
19468 | }, | |
19469 | "bounces_out" : { | |
19470 | "description" : "Outgoing bounce mail count (sender = <>).", | |
19471 | "type" : "number" | |
19472 | }, | |
19473 | "count" : { | |
19474 | "description" : "Overall mail count (in and out).", | |
19475 | "type" : "number" | |
19476 | }, | |
19477 | "count_in" : { | |
19478 | "description" : "Incoming mail count.", | |
19479 | "type" : "number" | |
19480 | }, | |
19481 | "count_out" : { | |
19482 | "description" : "Outgoing mail count.", | |
19483 | "type" : "number" | |
19484 | }, | |
19485 | "index" : { | |
19486 | "description" : "Time index.", | |
19487 | "type" : "integer" | |
19488 | }, | |
274b47fc DM |
19489 | "pregreet_rejects" : { |
19490 | "description" : "PREGREET recject count.", | |
19491 | "type" : "integer" | |
19492 | }, | |
19493 | "rbl_rejects" : { | |
19494 | "description" : "Number of RBL rejects.", | |
19495 | "type" : "integer" | |
19496 | }, | |
9fda36b0 | 19497 | "spamcount_in" : { |
274b47fc | 19498 | "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).", |
9fda36b0 DM |
19499 | "type" : "number" |
19500 | }, | |
19501 | "spamcount_out" : { | |
19502 | "description" : "Outgoing spam mails.", | |
19503 | "type" : "number" | |
19504 | }, | |
19505 | "time" : { | |
19506 | "description" : "Time (Unix epoch).", | |
19507 | "type" : "integer" | |
19508 | }, | |
19509 | "viruscount_in" : { | |
19510 | "description" : "Number of incoming virus mails.", | |
19511 | "type" : "number" | |
19512 | }, | |
19513 | "viruscount_out" : { | |
19514 | "description" : "Number of outgoing virus mails.", | |
19515 | "type" : "number" | |
19516 | } | |
19517 | }, | |
19518 | "type" : "object" | |
19519 | }, | |
19520 | "type" : "array" | |
19521 | } | |
d7cd791b | 19522 | } |
9fda36b0 DM |
19523 | }, |
19524 | "leaf" : 1, | |
19525 | "path" : "/statistics/mailcount", | |
19526 | "text" : "mailcount" | |
19527 | }, | |
19528 | { | |
d7cd791b DM |
19529 | "info" : { |
19530 | "GET" : { | |
6bd70b95 | 19531 | "allowtoken" : 1, |
9fda36b0 | 19532 | "description" : "Get Statistics about detected Viruses.", |
d7cd791b | 19533 | "method" : "GET", |
9fda36b0 | 19534 | "name" : "virus", |
d7cd791b DM |
19535 | "parameters" : { |
19536 | "additionalProperties" : 0, | |
19537 | "properties" : { | |
9fda36b0 DM |
19538 | "day" : { |
19539 | "description" : "Day of month. Get statistics for a single day.", | |
19540 | "maximum" : 31, | |
19541 | "minimum" : 1, | |
19542 | "optional" : 1, | |
19543 | "type" : "integer", | |
19544 | "typetext" : "<integer> (1 - 31)" | |
19545 | }, | |
d7cd791b | 19546 | "endtime" : { |
9fda36b0 | 19547 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", |
d7cd791b DM |
19548 | "minimum" : 1, |
19549 | "optional" : 1, | |
19550 | "type" : "integer", | |
19551 | "typetext" : "<integer> (1 - N)" | |
19552 | }, | |
9fda36b0 DM |
19553 | "month" : { |
19554 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19555 | "maximum" : 12, | |
19556 | "minimum" : 1, | |
d7cd791b | 19557 | "optional" : 1, |
9fda36b0 DM |
19558 | "type" : "integer", |
19559 | "typetext" : "<integer> (1 - 12)" | |
d7cd791b DM |
19560 | }, |
19561 | "starttime" : { | |
9fda36b0 | 19562 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", |
d7cd791b DM |
19563 | "minimum" : 0, |
19564 | "optional" : 1, | |
19565 | "type" : "integer", | |
19566 | "typetext" : "<integer> (0 - N)" | |
9fda36b0 DM |
19567 | }, |
19568 | "year" : { | |
19569 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19570 | "maximum" : 3000, | |
19571 | "minimum" : 1900, | |
19572 | "optional" : 1, | |
19573 | "type" : "integer", | |
19574 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19575 | } |
19576 | } | |
19577 | }, | |
19578 | "permissions" : { | |
19579 | "check" : [ | |
19580 | "admin", | |
19581 | "qmanager", | |
9fda36b0 | 19582 | "audit" |
d7cd791b DM |
19583 | ] |
19584 | }, | |
19585 | "returns" : { | |
19586 | "items" : { | |
19587 | "properties" : { | |
19588 | "count" : { | |
9fda36b0 | 19589 | "description" : "Detection count.", |
d7cd791b DM |
19590 | "type" : "integer" |
19591 | }, | |
9fda36b0 DM |
19592 | "name" : { |
19593 | "description" : "Virus name.", | |
19594 | "type" : "string" | |
d7cd791b DM |
19595 | } |
19596 | }, | |
19597 | "type" : "object" | |
19598 | }, | |
d7cd791b DM |
19599 | "type" : "array" |
19600 | } | |
19601 | } | |
19602 | }, | |
9fda36b0 DM |
19603 | "leaf" : 1, |
19604 | "path" : "/statistics/virus", | |
19605 | "text" : "virus" | |
d7cd791b DM |
19606 | }, |
19607 | { | |
19608 | "info" : { | |
19609 | "GET" : { | |
6bd70b95 | 19610 | "allowtoken" : 1, |
9fda36b0 | 19611 | "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.", |
d7cd791b | 19612 | "method" : "GET", |
9fda36b0 | 19613 | "name" : "spamscores", |
d7cd791b DM |
19614 | "parameters" : { |
19615 | "additionalProperties" : 0, | |
19616 | "properties" : { | |
9fda36b0 DM |
19617 | "day" : { |
19618 | "description" : "Day of month. Get statistics for a single day.", | |
19619 | "maximum" : 31, | |
19620 | "minimum" : 1, | |
19621 | "optional" : 1, | |
19622 | "type" : "integer", | |
19623 | "typetext" : "<integer> (1 - 31)" | |
d7cd791b | 19624 | }, |
9fda36b0 DM |
19625 | "endtime" : { |
19626 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19627 | "minimum" : 1, | |
d7cd791b | 19628 | "optional" : 1, |
9fda36b0 DM |
19629 | "type" : "integer", |
19630 | "typetext" : "<integer> (1 - N)" | |
19631 | }, | |
19632 | "month" : { | |
19633 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19634 | "maximum" : 12, | |
19635 | "minimum" : 1, | |
19636 | "optional" : 1, | |
19637 | "type" : "integer", | |
19638 | "typetext" : "<integer> (1 - 12)" | |
19639 | }, | |
19640 | "starttime" : { | |
19641 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19642 | "minimum" : 0, | |
19643 | "optional" : 1, | |
19644 | "type" : "integer", | |
19645 | "typetext" : "<integer> (0 - N)" | |
19646 | }, | |
19647 | "year" : { | |
19648 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19649 | "maximum" : 3000, | |
19650 | "minimum" : 1900, | |
19651 | "optional" : 1, | |
19652 | "type" : "integer", | |
19653 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19654 | } |
19655 | } | |
19656 | }, | |
19657 | "permissions" : { | |
19658 | "check" : [ | |
19659 | "admin", | |
19660 | "qmanager", | |
9fda36b0 | 19661 | "audit" |
d7cd791b DM |
19662 | ] |
19663 | }, | |
19664 | "returns" : { | |
9fda36b0 DM |
19665 | "items" : { |
19666 | "properties" : { | |
19667 | "count" : { | |
19668 | "description" : "Detection count.", | |
19669 | "type" : "integer" | |
19670 | }, | |
19671 | "level" : { | |
19672 | "description" : "Spam level.", | |
19673 | "type" : "string" | |
19674 | }, | |
19675 | "ratio" : { | |
19676 | "description" : "Portion of overall mail count.", | |
19677 | "type" : "number" | |
19678 | } | |
d7cd791b | 19679 | }, |
9fda36b0 DM |
19680 | "type" : "object" |
19681 | }, | |
19682 | "type" : "array" | |
19683 | } | |
19684 | } | |
19685 | }, | |
19686 | "leaf" : 1, | |
19687 | "path" : "/statistics/spamscores", | |
19688 | "text" : "spamscores" | |
19689 | }, | |
19690 | { | |
19691 | "info" : { | |
19692 | "GET" : { | |
6bd70b95 | 19693 | "allowtoken" : 1, |
9fda36b0 DM |
19694 | "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.", |
19695 | "method" : "GET", | |
19696 | "name" : "maildistribution", | |
19697 | "parameters" : { | |
19698 | "additionalProperties" : 0, | |
19699 | "properties" : { | |
19700 | "day" : { | |
19701 | "description" : "Day of month. Get statistics for a single day.", | |
19702 | "maximum" : 31, | |
19703 | "minimum" : 1, | |
d7cd791b | 19704 | "optional" : 1, |
9fda36b0 DM |
19705 | "type" : "integer", |
19706 | "typetext" : "<integer> (1 - 31)" | |
d7cd791b | 19707 | }, |
9fda36b0 DM |
19708 | "endtime" : { |
19709 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19710 | "minimum" : 1, | |
19711 | "optional" : 1, | |
19712 | "type" : "integer", | |
19713 | "typetext" : "<integer> (1 - N)" | |
d7cd791b | 19714 | }, |
9fda36b0 DM |
19715 | "month" : { |
19716 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19717 | "maximum" : 12, | |
19718 | "minimum" : 1, | |
19719 | "optional" : 1, | |
19720 | "type" : "integer", | |
19721 | "typetext" : "<integer> (1 - 12)" | |
d7cd791b | 19722 | }, |
9fda36b0 DM |
19723 | "starttime" : { |
19724 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19725 | "minimum" : 0, | |
19726 | "optional" : 1, | |
19727 | "type" : "integer", | |
19728 | "typetext" : "<integer> (0 - N)" | |
d7cd791b | 19729 | }, |
9fda36b0 DM |
19730 | "year" : { |
19731 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19732 | "maximum" : 3000, | |
19733 | "minimum" : 1900, | |
19734 | "optional" : 1, | |
19735 | "type" : "integer", | |
19736 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b | 19737 | } |
9fda36b0 DM |
19738 | } |
19739 | }, | |
19740 | "permissions" : { | |
19741 | "check" : [ | |
19742 | "admin", | |
19743 | "qmanager", | |
19744 | "audit" | |
19745 | ] | |
19746 | }, | |
19747 | "returns" : { | |
19748 | "items" : { | |
19749 | "properties" : { | |
19750 | "bounces_in" : { | |
19751 | "description" : "Incoming bounce mail count (sender = <>).", | |
19752 | "type" : "number" | |
19753 | }, | |
19754 | "bounces_out" : { | |
19755 | "description" : "Outgoing bounce mail count (sender = <>).", | |
19756 | "type" : "number" | |
19757 | }, | |
19758 | "count" : { | |
19759 | "description" : "Overall mail count (in and out).", | |
19760 | "type" : "number" | |
19761 | }, | |
19762 | "count_in" : { | |
19763 | "description" : "Incoming mail count.", | |
19764 | "type" : "number" | |
19765 | }, | |
19766 | "count_out" : { | |
19767 | "description" : "Outgoing mail count.", | |
19768 | "type" : "number" | |
19769 | }, | |
19770 | "index" : { | |
19771 | "description" : "Hour (0-23).", | |
19772 | "type" : "integer" | |
19773 | }, | |
19774 | "spamcount_in" : { | |
19775 | "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).", | |
19776 | "type" : "number" | |
19777 | }, | |
19778 | "spamcount_out" : { | |
19779 | "description" : "Outgoing spam mails.", | |
19780 | "type" : "number" | |
19781 | }, | |
19782 | "viruscount_in" : { | |
19783 | "description" : "Number of incoming virus mails.", | |
19784 | "type" : "number" | |
19785 | }, | |
19786 | "viruscount_out" : { | |
19787 | "description" : "Number of outgoing virus mails.", | |
19788 | "type" : "number" | |
19789 | } | |
19790 | }, | |
19791 | "type" : "object" | |
d7cd791b | 19792 | }, |
9fda36b0 | 19793 | "type" : "array" |
d7cd791b | 19794 | } |
9fda36b0 DM |
19795 | } |
19796 | }, | |
19797 | "leaf" : 1, | |
19798 | "path" : "/statistics/maildistribution", | |
19799 | "text" : "maildistribution" | |
19800 | }, | |
19801 | { | |
19802 | "info" : { | |
19803 | "GET" : { | |
6bd70b95 | 19804 | "allowtoken" : 1, |
274b47fc | 19805 | "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)", |
9fda36b0 | 19806 | "method" : "GET", |
274b47fc | 19807 | "name" : "rejectcount", |
d7cd791b DM |
19808 | "parameters" : { |
19809 | "additionalProperties" : 0, | |
19810 | "properties" : { | |
9fda36b0 DM |
19811 | "day" : { |
19812 | "description" : "Day of month. Get statistics for a single day.", | |
19813 | "maximum" : 31, | |
19814 | "minimum" : 1, | |
19815 | "optional" : 1, | |
19816 | "type" : "integer", | |
19817 | "typetext" : "<integer> (1 - 31)" | |
d7cd791b | 19818 | }, |
9fda36b0 DM |
19819 | "endtime" : { |
19820 | "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.", | |
19821 | "minimum" : 1, | |
19822 | "optional" : 1, | |
19823 | "type" : "integer", | |
19824 | "typetext" : "<integer> (1 - N)" | |
19825 | }, | |
19826 | "month" : { | |
19827 | "description" : "Month. You will get statistics for the whole month if you do not specify a day.", | |
19828 | "maximum" : 12, | |
19829 | "minimum" : 1, | |
19830 | "optional" : 1, | |
19831 | "type" : "integer", | |
19832 | "typetext" : "<integer> (1 - 12)" | |
19833 | }, | |
19834 | "starttime" : { | |
19835 | "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.", | |
19836 | "minimum" : 0, | |
19837 | "optional" : 1, | |
19838 | "type" : "integer", | |
19839 | "typetext" : "<integer> (0 - N)" | |
19840 | }, | |
19841 | "timespan" : { | |
19842 | "default" : 3600, | |
274b47fc | 19843 | "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.", |
9fda36b0 DM |
19844 | "maximum" : 31622400, |
19845 | "minimum" : 3600, | |
19846 | "optional" : 1, | |
19847 | "type" : "integer", | |
19848 | "typetext" : "<integer> (3600 - 31622400)" | |
19849 | }, | |
19850 | "year" : { | |
19851 | "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.", | |
19852 | "maximum" : 3000, | |
19853 | "minimum" : 1900, | |
19854 | "optional" : 1, | |
19855 | "type" : "integer", | |
19856 | "typetext" : "<integer> (1900 - 3000)" | |
d7cd791b DM |
19857 | } |
19858 | } | |
19859 | }, | |
19860 | "permissions" : { | |
19861 | "check" : [ | |
19862 | "admin", | |
19863 | "qmanager", | |
9fda36b0 | 19864 | "audit" |
d7cd791b DM |
19865 | ] |
19866 | }, | |
d7cd791b | 19867 | "returns" : { |
9fda36b0 DM |
19868 | "items" : { |
19869 | "properties" : { | |
9fda36b0 DM |
19870 | "index" : { |
19871 | "description" : "Time index.", | |
19872 | "type" : "integer" | |
19873 | }, | |
274b47fc DM |
19874 | "pregreet_rejects" : { |
19875 | "description" : "PREGREET recject count.", | |
19876 | "type" : "integer" | |
19877 | }, | |
19878 | "rbl_rejects" : { | |
19879 | "description" : "RBL recject count.", | |
19880 | "type" : "integer" | |
19881 | }, | |
9fda36b0 DM |
19882 | "time" : { |
19883 | "description" : "Time (Unix epoch).", | |
19884 | "type" : "integer" | |
19885 | } | |
19886 | }, | |
19887 | "type" : "object" | |
19888 | }, | |
19889 | "type" : "array" | |
d7cd791b DM |
19890 | } |
19891 | } | |
19892 | }, | |
19893 | "leaf" : 1, | |
274b47fc DM |
19894 | "path" : "/statistics/rejectcount", |
19895 | "text" : "rejectcount" | |
d7cd791b DM |
19896 | } |
19897 | ], | |
19898 | "info" : { | |
19899 | "GET" : { | |
6bd70b95 | 19900 | "allowtoken" : 1, |
d7cd791b DM |
19901 | "description" : "Directory index.", |
19902 | "method" : "GET", | |
19903 | "name" : "index", | |
19904 | "parameters" : { | |
19905 | "additionalProperties" : 0 | |
19906 | }, | |
19907 | "permissions" : { | |
9fda36b0 DM |
19908 | "check" : [ |
19909 | "admin", | |
19910 | "qmanager", | |
19911 | "audit" | |
19912 | ] | |
d7cd791b DM |
19913 | }, |
19914 | "returns" : { | |
19915 | "items" : { | |
19916 | "properties" : {}, | |
19917 | "type" : "object" | |
19918 | }, | |
19919 | "links" : [ | |
19920 | { | |
19921 | "href" : "{name}", | |
19922 | "rel" : "child" | |
19923 | } | |
19924 | ], | |
19925 | "type" : "array" | |
19926 | } | |
19927 | } | |
19928 | }, | |
19929 | "leaf" : 0, | |
9fda36b0 DM |
19930 | "path" : "/statistics", |
19931 | "text" : "statistics" | |
d7cd791b | 19932 | }, |
410dc2c9 DM |
19933 | { |
19934 | "info" : { | |
19935 | "GET" : { | |
6bd70b95 | 19936 | "allowtoken" : 1, |
410dc2c9 DM |
19937 | "description" : "API version details.", |
19938 | "method" : "GET", | |
19939 | "name" : "version", | |
19940 | "parameters" : { | |
19941 | "additionalProperties" : 0 | |
19942 | }, | |
19943 | "permissions" : { | |
19944 | "user" : "all" | |
19945 | }, | |
19946 | "returns" : { | |
19947 | "properties" : { | |
19948 | "release" : { | |
241ac83c | 19949 | "description" : "The current installed Proxmox Mailgateway Release", |
410dc2c9 DM |
19950 | "type" : "string" |
19951 | }, | |
19952 | "repoid" : { | |
241ac83c | 19953 | "description" : "The short git commit hash ID from which this version was build", |
410dc2c9 DM |
19954 | "type" : "string" |
19955 | }, | |
19956 | "version" : { | |
241ac83c | 19957 | "description" : "The current installed pmg-api package version", |
410dc2c9 DM |
19958 | "type" : "string" |
19959 | } | |
19960 | }, | |
19961 | "type" : "object" | |
19962 | } | |
19963 | } | |
19964 | }, | |
19965 | "leaf" : 1, | |
19966 | "path" : "/version", | |
19967 | "text" : "version" | |
19968 | } | |
19969 | ] | |
19970 | ; | |
19971 |