NagiosConfig

Parses /etc/{nagios{3,},icinga}/*.cfg

Authors: Sebastien Aperghis-Tramoni seba.nosp@m.stien@apergh.nosp@m.is.net Raphaël Pinson rap.nosp@m.hink@gmai.nosp@m.l.com

Summary
NagiosConfigParses /etc/{nagios{3,},icinga}/*.cfg
LicenseThis file is licenced under the LGPL v2+, like the rest of Augeas.
Lens UsageTo be documented
Configuration filesThis lens applies to /etc/{nagios{3,},icinga}/*.cfg.
Utility variables/functions
param_defdefine a field
macro_defMacro line, as used in resource.cfg
Entries
paramParams can have sub params
macro
Lens
entryDefine the accepted entries, such as param for regular configuration files, and macro for resources.cfg .
lnsmain structure
filter

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.  See filter.

Utility variables/functions

param_def

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

define a field

macro_def

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

Macro line, as used in resource.cfg

Entries

param

let param = [ Util.indent . param_def . [ Sep.space . param_def ]* . Util.eol ]

Params can have sub params

macro

let macro = [ Util.indent . macro_def . Util.eol ]

Lens

entry

let entry = param | macro

Define the accepted entries, such as param for regular configuration files, and macro for resources.cfg .

lns

let lns = ( Util.empty | Util.comment | entry )*

main structure

filter

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
define a field
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
Macro line, as used in resource.cfg
let param = [ Util.indent . param_def . [ Sep.space . param_def ]* . Util.eol ]
Params can have sub params
let macro = [ Util.indent . macro_def . Util.eol ]
let entry = param | macro
Define the accepted entries, such as param for regular configuration files, and macro for resources.cfg .
let lns = ( Util.empty | Util.comment | entry )*
main structure
Close