Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
M
 MAIN OPTIONS, Resolv
 make_value, Erlang
 map_format, Automaster
 map_generic, Automaster
 map_ldap, Automaster
 map_ldap_name, Automaster
 map_line, Grub
 map_mount, Automaster
 map_name
 map_type, Automaster
 MCollective
 Memcached
 menu_setting, Grub
 meta_release, Test_Apt_Update_Manager
 method, Pg_Hba
 minute, Cron
 Mke2fs
 modpath, Solaris_System
 Modprobe
 module_line, Grub
 Modules
 Modules_conf
 month, Cron
 mount_max, Fuse
 mount_option, FAI_DiskConfig
 mount_option_value, FAI_DiskConfig
 mount_options, FAI_DiskConfig
 mountpoint, FAI_DiskConfig
 mountpoint_kw, FAI_DiskConfig
 multi, Test_Systemd
 multi_empty, Up2date
 multi_entry, Up2date
 multi_single, Up2date
 multi_value, Up2date
 multi_values, Up2date
 multiboot_arg, Grub
 multiline_ace, Test_IniFile
 multiline_test, Test_IniFile
N
 NagiosConfig
 NagiosObjects
 name
 name_re, AptConf
 name_re_colons, AptConf
 named_block
 named_block_arg, Keepalived
 named_block_arg_title, Keepalived
 nameserver, Resolv
 neg1, Rx
 negate_node, Sudoers
 netgroup, Access
 netmask, Resolv
 Netmasks
 NetworkManager
 Networks
 nexthop, Postfix_Transport
 nexthop_smtp, Postfix_Transport
 nginx.aug
 nil cases, Test_Quote
 no_colon, Channels
 no_semicolon, Channels
 no_spaces, Rx
 nocomma, Test_Aliases
 nocull, Cachefilesd
 notation_def, Test_Xml.Xml
 Nrpe
 Nsswitch
 num, Cron
 number, Postgresql
 number_re, Postgresql
let make_value (lns:lens) = [ label "value" . lns ]
Make a “value” subnode for arrays/tuples
let map_format = [ label "format" . store format ]
let map_generic = ( map_type . ( Sep.comma . map_format )? . Sep.colon )? . map_name
Used for all except LDAP maps which are parsed further
let map_ldap = [ label "type" . store "ldap" ] . ( Sep.comma . map_format )? . Sep.colon . map_ldap_name
let map_ldap_name = ( [ label "host" . store host ] . Sep.colon )? . [ label "map" . store dn ]
Split up host:dc=foo into host/map nodes
let map_line = [ command "map" "\t" . spc . [ label "from" . store /[()A-za-z0-9]+/ ] . spc . [ label "to" . store /[()A-za-z0-9]+/ ] . eol ]
let map_mount = [ seq "map" . store mount . Util.del_ws_tab . ( map_generic | map_ldap ) . ( Util.del_ws_spc . comma_sep_list "opt" )? . Util.eol ]
Mountpoint and whitespace, followed by the map info
let map_name = [ label "map" . store name ]
let map_name = /[^: \t\n]+/
let map_type = [ label "type" . store type ]
Parses MCollective’s configuration files
Parses Memcached’s configuration files
let menu_setting = kw_menu_arg "default" | kw_menu_arg "fallback" | kw_pres "hiddenmenu" | kw_menu_arg "timeout" | kw_menu_arg "splashimage" | kw_menu_arg "gfxmenu" | kw_menu_arg "background" | serial | terminal | password_arg | color | device
let meta_release = "# default location for the meta-release file [METARELEASE] URI = http://changelogs.ubuntu.com/meta-release URI_LTS = http://changelogs.ubuntu.com/meta-release-lts URI_UNSTABLE_POSTFIX = -development URI_PROPOSED_POSTFIX = -proposed "
let method = [ label "method" . store /[A-Za-z][A-Za-z0-9]+/ . ( Sep.tab . option )* ]
can contain an option
let minute = [ label "minute" . store num ]
Parses /etc/mke2fs.conf
let modpath = [ seq "modpath" . store /[^ :\t\n]+/ ]
Individual moddir search path entry
Parses /etc/modprobe.conf and /etc/modprobe.d/*
let module_line = [ command /module\$?/ "\t" . spc . kernel_args ]
Solaris extension adds module$ and kernel$ for variable interpolation
Parses /etc/modules
Parses /etc/modules.conf and /etc/conf.modules
let month = [ label "month" . store alphanum ]
let mount_max = Build.key_value_line "mount_max" equal (store Rx.integer)
let mount_option = [ seq "mount_option" . store /[^,= \t\n]+/ . mount_option_value? ]
Counting options
let mount_option_value = [ label "value" . Util.del_str "=" . store /[^,= \t\n]+/ ]
let mount_options = [ label "mount_options" . counter "mount_option" . Build.opt_list mount_option Sep.comma ]
An array of mount_options
let mountpoint_kw = "-" (* do not mount *) | "swap" (* swap space *)
let multi = "[Unit] After=syslog.target network.target Also=canberra-system-shutdown.service canberra-system-shutdown-reboot.service Before=sysinit.target shutdown.target CapabilityBoundingSet=CAP_SYS_ADMIN CAP_SETUID CAP_SETGID Conflicts=emergency.service emergency.target ControlGroup=%R/user/%I/shared cpu:/ ListenNetlink=kobject-uevent 1 Requires=shutdown.target umount.target final.target Sockets=udev-control.socket udev-kernel.socket WantedBy=halt.target poweroff.target Wants=local-fs.target swap.target Wants=local-fs.target \ swap.target Wants=local-fs.target\ swap.target Wants= local-fs.target "
let multi_empty = sep_semi
key=;
let multi_entry = [ label "values" . counter "multi" . ( multi_single | multi_values | multi_empty ) ]
List settings go under a ‘values’ node
let multi_single = multi_value . sep_semi
key=foo; (parsed as a list)
let multi_value = [ seq "multi" . store value_re ]
One value in a list setting
let multi_values = multi_value . ( sep_semi . multi_value )+ . del /;?/ ";"
key=foo;bar key=foo;bar;
let multiboot_arg = [ label "@path" . store (Rx.word . "/" . Rx.no_spaces) ]
Permits a second form for Solaris multiboot kernels that take a path (with a slash) as their first arg, e.g.
let multiline_ace = IniFile.entry_multiline IniFile.entry_re sep_ace comment_ace
let multiline_test = "test_ace = val1\n val2\n val3\n"
Parses /etc/nagios3/*.cfg
Parses /etc/nagios3/objects/*.cfg
let name = /([^ \t\n#:|@]+|"[^"|\n]*")/ (* " make emacs calm down *)
let name = /[^: \t\n]+/
let name = /[^@%# \t\n][^ \t\n]*/
let name = [ label "name" . store /[^\/ \t\n]+/ ]
LVM volume group name
let name_re = /[A-Za-z][A-Za-z-]*/
Regex for entry names
let name_re_colons = /[A-Za-z][A-Za-z:-]*/
Regex for entry names with colons
let named_block (kw:regexp) (entry:lens) = [ key kw . block entry . eol ]
A named block enclosed in brackets
let named_block (kw:string) (sto:lens) = lens_block (key kw . sep_spc . sto_word) sto
A block with a block title and name
let named_block = Build.named_block "foo" block_entry
The named block used for testing
let named_block_arg (kw:string) (name:string) (arg:string) (sto:lens) = lens_block (named_block_arg_title kw name arg) sto
A block with a block title, a name and an argument
let named_block_arg_title (kw:string) (name:string) (arg:string) = key kw . sep_spc . [ label name . sto_word ] . sep_spc . [ label arg . sto_word ]
A title lens for named_block_arg
let nameserver = Build.key_value_line_comment "nameserver" Sep.space (store Rx.ip) comment_eol
A nameserver entry
let neg1 = /[^,# \n\t]+/
Anything but a space, a comma or a comment sign
let negate_node = [ del "!" "!" . label "negate" ]
Negation of boolean values for defaults.
let netgroup = [ label "netgroup" . Util.del_str "@" . store user_re . [ label "nisdomain" . Util.del_str "@@" . store Rx.word ]? ]
Format is @NETGROUP[@@NISDOMAIN]
let netmask = [ label "netmask" . Util.del_str "/" . store Rx.ip ]
A network mask for IP addresses
Parses /etc/inet/netmasks on Solaris
Parses /etc/NetworkManager/system-connections/* files which are GLib key-value setting files.
Parses /etc/networks
let nexthop = let host_re = "[" . Rx.word . "]" | /[A-Za-z]([^\n]*[^ \t\n])?/ in [ label "nexthop" . (store host_re)? ]
let nexthop_smtp = let host_re = "[" . Rx.word . "]" | Rx.word in [ label "host" . store host_re ] . colon . [ label "port" . store Rx.integer ]
let no_colon = /[^: \t\n][^:\n]*[^: \t\n]|[^:\n]/
let no_semicolon = /[^;\n]+/
let no_spaces = /[^ \t\n]+/
A string with no spaces
let nocomma = "alias: target1,target2\n"
Don’t have to have whitespace after a comma
let nocull = /nocull/i
The nocull key has different syntax than the rest
test Xml.notation_def get "<!NOTATION not3 SYSTEM \"\">" = { "!NOTATION" = "not3" { "SYSTEM" = "" } }
Parses nagios-nrpe configuration files.
Parses /etc/nsswitch.conf
let num = /[0-9*][0-9\/,*-]*/
let number = Quote.do_squote_opt (store number_re)
Storing number_re, with or without quotes
let number_re = Rx.reldecimal . /[kMG]?B|[m]?s|min|h|d/?
A relative decimal number, optionally with unit
Close