Imported Upstream version 1.7.0
[platform/upstream/augeas.git] / lenses / carbon.aug
1 (*
2 Module: Carbon
3     Parses Carbon's configuration files
4
5 Author: Marc Fournier <marc.fournier@camptocamp.com>
6
7 About: Reference
8     This lens is based on the conf/*.conf.example files from the Carbon
9     package.
10
11 About: Configuration files
12     This lens applies to most files in /etc/carbon/. See <filter>.
13     NB: whitelist.conf and blacklist.conf use a different syntax. This lens
14     doesn't support them.
15
16 About: Usage Example
17 (start code)
18     $ augtool
19     augtool> ls /files/etc/carbon/carbon.conf/
20     cache/ = (none)
21     relay/ = (none)
22     aggregator/ = (none)
23
24     augtool> get /files/etc/carbon/carbon.conf/cache/ENABLE_UDP_LISTENER
25     /files/etc/carbon/carbon.conf/cache/ENABLE_UDP_LISTENER = False
26
27     augtool> set /files/etc/carbon/carbon.conf/cache/ENABLE_UDP_LISTENER True
28     augtool> save
29     Saved 1 file(s)
30 (end code)
31    The <Test_Carbon> file also contains various examples.
32
33 About: License
34   This file is licensed under the LGPL v2+, like the rest of Augeas.
35 *)
36 module Carbon =
37 autoload xfm
38
39 let comment = IniFile.comment "#" "#"
40 let sep     = IniFile.sep "=" "="
41
42 let entry   = IniFile.entry IniFile.entry_re sep comment
43 let title   = IniFile.title IniFile.record_re
44 let record  = IniFile.record title entry
45
46 let lns     = IniFile.lns record comment
47
48 let filter  = incl "/etc/carbon/carbon.conf"
49             . incl "/etc/carbon/relay-rules.conf"
50             . incl "/etc/carbon/rewrite-rules.conf"
51             . incl "/etc/carbon/storage-aggregation.conf"
52             . incl "/etc/carbon/storage-schemas.conf"
53
54 let xfm     = transform lns filter