Augeas Lens 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
 machine, BootConf
 macro
 macro_def, NagiosConfig
 macrodefinition, Xymon_Alerting
 mail, Xymon_Alerting
 make_value, Erlang
 makestep, Chrony
 map_format, Automaster
 map_generic, Automaster
 map_ldap, Automaster
 map_ldap_name, Automaster
 map_line, Grub
 map_mount, Automaster
 map_name
 map_type, Automaster
 maxchange, Chrony
 member, Gshadow
 member_list, Gshadow
 menu_setting, Grub
 metadata, Puppetfile
 method, Pg_Hba
 minute, Cron
 misc_check_field, Keepalived
 mod, Puppetfile
 modpath, Solaris_System
 module_line, Grub
 month, Cron
 mount_max, Fuse
 multi_empty, Up2date
 multi_entry, Up2date
 multi_single, Up2date
 multi_value, Up2date
 multi_values, Up2date
 multiboot_arg, Grub
N
 name
 name_re, AptConf
 name_re_colons, AptConf
 named_block
 named_block_arg, Keepalived
 named_block_arg_title, Keepalived
 nameserver, Resolv
 negate_node, Sudoers
 netgroup, Access
 netmask, Resolv
 nexthop, Postfix_Transport
 nexthop_smtp, Postfix_Transport
 no_colon, Channels
 no_semicolon, Channels
 nocull, Cachefilesd
 nondef, LVM
 notice, Xymon_Alerting
 number, Postgresql
O
 opt_eol, Keepalived
 opt_list
 opt_value, Ntpd
 opt_ws, Grub
 option
 options
 optsep, Automaster
 origin_list, Access
 origin_pin, AptPreferences
let machine = let machine_entry = Build.key_value ("comaddr"|"memory") space (store word) | Build.flag ("diskinfo"|"regs") in Build.key_value_line "machine" space (Build.opt_list machine_entry space)
machine [command]
let macro = [ Util.indent . macro_def . Util.eol ]
let macro = [ key /\$[^ =\t\n#\/]+/ . filters_opt ]
The macro recipient definition
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 macrodefinition = [ key /\$[^ =\t\n#\/]+/ . Sep.space_equal . store Rx.space_in . eol ]
A string that starts with $ and that is assigned something
let mail = [ key "MAIL" . ws . store_word . filters_opt ]
The mail recipient definition
let make_value (lns:lens) = [ label "value" . lns ]
Make a “value” subnode for arrays/tuples
let makestep = [ Util.indent . key "makestep" . space . [ label "threshold" . store number ] . space . [ label "limit" . store integer ] . eol ]
makestep has specific syntax
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_spc_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 ]
let maxchange = [ Util.indent . key "maxchange" . space . [ label "threshold" . store number ] . space . [ label "delay" . store integer ] . space . [ label "limit" . store integer ] . eol ]
maxchange has specific syntax
let member = [ label "member" . store word ]
let member_list = Build.opt_list member comma
the member list is a comma separated list of users allowed to chgrp to the group without being prompted for the group’s password
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 "foreground" | kw_menu_arg "background" | kw_menu_arg "verbose" | serial | terminal | password_arg | color | device | setkey
let metadata = [ Util.indent . key "metadata" . Util.eol ]
a metadata entry
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 ]
let misc_check_field = let flag_re = "misc_dynamic" in let num_re = "misc_timeout" in let to_eol_re = "misc_path" in field num_re sto_num | flag flag_re | field to_eol_re sto_to_eol
let mod = let mod_name = Quote.do_quote (store (Rx.word . /[\/-]/ . Rx.word)) in let version = [ label "@version" . Quote.do_quote (store /[^:\n]+/) ] in let opt = [ Util.del_str ":" . key Rx.word . del /[ \t]*=>[ \t]*/ " => " . Quote.do_quote (store /[^,\n]*/) ] in let opts = Build.opt_list opt comma in [ Util.indent . Util.del_str "mod" . seq "mod" . Sep.space . mod_name . (comma . version)? . (comma . opts)? . Util.eol ]
a module entry, with optional version and options
let modpath = [ seq "modpath" . store /[^ :\t\n]+/ ]
Individual moddir search path entry
let module_line = [ command /module\$?/ "\t" . spc . kernel_args ]
Solaris extension adds module$ and kernel$ for variable interpolation
let month = [ label "month" . store alphanum ]
let mount_max = Build.key_value_line "mount_max" equal (store Rx.integer)
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 name = /[^: \t\n]+/
let name = [ label "name" . sto_to_col? . colon ]
pw_gecos; the user’s full 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 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
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 nocull = /nocull/i
The nocull key has different syntax than the rest
let nondef = Util.empty | Util.comment
A line that doesn’t contain a statement
let notice = flag "NOTICE"
The notice filter definition
let number = Quote.do_squote_opt (store number_re)
Storing number_re, with or without quotes
let opt_eol = del /[ \t]*\n?/ " "
let opt_list (lns:lens) (sep:lens) = lns . ( sep . lns )*
Same as list, but there might be only one element in the list
let opt_list (lns:lens) = rspace lbrack . (Build.opt_list lns (lrspace comma) . space)? . Util.del_str rbrack
An optional list of elements, in square brackets
let opt_list = Build.opt_list [ key Rx.word ] Sep.space
let opt_value (s:string) (r:regexp) = Build.key_value s space (store r)
A subnode for optional values.
let opt_ws = Util.del_opt_ws ""
let option = let kv_re = "command" | "environment" | "from" | "permitopen" | "principals" | "tunnel" in let flag_re = "cert-authority" | "no-agent-forwarding" | "no-port-forwarding" | "no-pty" | "no-user-rc" | "no-X11-forwarding" in let option_value = Util.del_str "\"" . store /((\\\\")?[^\\\n"]*)+/ . Util.del_str "\"" in Build.key_value kv_re Sep.equal option_value | Build.flag flag_re
A key option
let option = [ key option_kw . ( del /([ \t]*=[ \t]*|[ \t]+)/ " " . sto_to_colon )? ]
Optional extensions defined in hosts_options(5)
let option = let value_start = label "value" . Sep.equal in [ label "option" . store Rx.word . (Quote.quote_spaces value_start)? ]
part of method
let option = [ indent . del /[oO]ption/ "Option" . label "Option" . sep_spc . quoted_string_val . [ label "value" . sep_spc . quoted_string_val ]* . eol ]
let options = let opt_value = /[^#" \t\n\\\\]+|"[^#"\n\\\\]*"/ in let option = [ key Rx.word . (del /[ \t]*=[ \t]*/ "=" . store opt_value)? ] in [ key "options" . sep_space . sto_no_spaces . (sep_space . option)* . Util.comment_or_eol ]
let options = let options_entry = Build.key_value ("ndots"|"timeout"|"attempts") (Util.del_str ":") (store Rx.integer) | Build.flag ("debug"|"rotate"|"no-check-names" |"inet6"|"ip6-bytestring"|"edns0" |"single-request-reopen") | ip6_dotint in Build.key_value_line_comment "options" Sep.space (Build.opt_list options_entry Sep.space) comment_eol
Options values
let optsep = del /[ \t,]+/ ","
let origin_list = let origin_re = Rx.no_spaces - /[Ee][Xx][Cc][Ee][Pp][Tt]/ in Build.opt_list [ label "origin" . store origin_re ] Sep.space
origin_list can be a single ipaddr/originname/domain/fqdn or a list of those values
let origin_pin = pin_gen "origin"
Close