Parses /etc/{nagios{3,},icinga}/*.cfg
Authors: Sebastien Aperghis-Tramoni seba@apergh is.net Raphaël Pinson stienrap@gmai l.com hink
NagiosConfig | Parses /etc/{nagios{3,},icinga}/*.cfg |
License | This file is licenced under the LGPL v2+, like the rest of Augeas. |
Lens Usage | To be documented |
Configuration files | This lens applies to /etc/{nagios{3,},icinga}/*.cfg. |
Utility variables/ | |
param_def | define a field |
macro_def | Macro line, as used in resource.cfg |
Entries | |
param | Params can have sub params |
macro | |
Lens | |
entry | Define the accepted entries, such as param for regular configuration files, and macro for resources.cfg . |
lns | main structure |
filter |
This lens applies to /etc/{nagios{3,},icinga}/*.cfg. See filter.
define a field
let param_def = let space_in = /[^ \t\n][^\n=]*[^ \t\n]|[^ \t\n]/ in key /[A-Za-z0-9_]+/ . Sep.opt_space . Sep.equal . Sep.opt_space . store space_in
Macro line, as used in resource.cfg
let macro_def = let macro = /\$[A-Za-z0-9]+\$/ in let macro_decl = Rx.word | Rx.fspath in key macro . Sep.space_equal . store macro_decl
Params can have sub params
let param = [ Util.indent . param_def . [ Sep.space . param_def ]* . Util.eol ]
let macro = [ Util.indent . macro_def . Util.eol ]
Define the accepted entries, such as param for regular configuration files, and macro for resources.cfg .
let entry = param | macro
main structure
let lns = ( Util.empty | Util.comment | entry )*