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
L
 label_opt_list, Syslog
 label_opt_list_or, Syslog
 lbracket, Keepalived
 lens_block, Keepalived
 list, Build
 list_sto, Mke2fs
 lns
 lns_noempty, IniFile
 loghost, Syslog
 logprogram, Syslog
 lvs_conf, Keepalived
M
 method, Pg_Hba
 minute, Cron
 modpath, Solaris_System
 month, Cron
N
 named_block, Keepalived
 named_block_arg, Keepalived
 named_block_arg_title, Keepalived
 nameserver, Resolv
 negate_node, Sudoers
 netgroup, Access
 netmask, Resolv
O
 opt_list, Build
 option
 options, Resolv
 origin_list, Access
P
 parameter, Sudoers
 parameter_flag, Sudoers
 parameter_integer, Sudoers
 parameter_list, Sudoers
 parameter_lists, Sudoers
 parameter_string, Sudoers
 port, Services
 prefixlen, Keepalived
 program, Syslog
 programs, Syslog
 protocol, Services
R
 rbracket, Keepalived
 reaction, Nsswitch
 real_server_field, Keepalived
 record
 record_local, Pg_Hba
 record_noempty, IniFile
 record_remote, Pg_Hba
 runas_alias, Sudoers
 runas_spec, Sudoers
let label_opt_list (
   l:string
) (r:lens) (s:lens) = Build.opt_list [ label l . r ] s
Uses Build.opt_list to generate a list of labels
let label_opt_list_or (
   l:string
) (r:lens) (s:lens) (or:string) = ( label_opt_list l r s | [ label l . store or ] )
Either label_opt_list matches something or it emits a single label with the “or” string.
let lens_block (
   title:lens
) (sto:lens) = [ indent . title . sep_spc . lbracket . eol . (sto | empty | comment)+ . indent . rbracket . eol ]
A generic block with a title lens
let list (lns:lens) (sep:lens) = lns . ( sep . lns )+
Build a list of identical lenses separated with a given separator (at least 2 elements)
let list_sto (
   kw:regexp
) (lns:lens) = counter "item" . entry kw (Build.opt_list [lns] Sep.comma)
A list of values with given lens
let lns = (empty | comment record) *
The crypttab lens
let lns = (comment|empty|entry) *
The access.conf lens, any amount of
let lns = (empty | comment | user_record group_record)*
The main lens, any amount of
let lns = (empty | comment | shellvar entry)*
The cron lens
let lns = (empty | comment record) *
Any number of empty lines, comments, and records.
let lns (record:lens) (comment:lens) = lns_noempty record (comment|empty)
Generic INI File lens
let lns = (empty | comment | global_conf | vrrpd_conf lvs_conf)*
The keepalived lens
let lns = (record | Util.comment Util.empty) *
The login.defs lens
let lns = (empty|comment)* . (defaults|fs_types)*
The mke2fs lens
let lns = (empty | comment database)*
let lns = Shellvars.lns
The pbuilder lens
let lns = (record | Util.comment Util.empty) *
The pg_hba.conf lens
let lns = (empty | comment entry)*
let lns = (empty | comment record)*
The services lens is either empty, comment or record
let lns = (empty | comment shell)*
The shells lens
let lns = (
   empty | comment | cmd_moddir | cmd_kv "rootdev" Rx.fspath | cmd_kv "rootfs" Rx.word | cmd_kv "exclude" Rx.fspath | cmd_kv "include" Rx.fspath | cmd_kv "forceload" Rx.fspath cmd_set
)*
let lns = (empty | comment | includedir | alias | defaults spec)*
The sudoers lens, any amount of
let lns = entries . (program hostname)*
generic entries then programs or hostnames matching blocs
let lns = (empty | comment section)*
The xorg.conf lens
let lns_noempty (record:lens) (comment:lens) = comment* . record*
Generic INI File lens with no empty lines
let loghost = at . [ label "hostname" . store loghost_r ] . (
   colon [ label "port" . store /[0-9]+/ ]
)?
a loghost is an @ sign followed by the hostname and a possible port
let logprogram = pipe . [ label "program" . store /[^ \t\n][^\n]+[^ \t\n]/ ]
a log program begins with a pipe
let lvs_conf = virtual_server | virtual_server_group
contains subblocks of Virtual server group(s) and Virtual server(s)
let method = [ label "method" . store Rx.word . ( Sep.tab . option )? ]
can contain an option
let minute = [ label "minute" . store num ]
let modpath = [ seq "modpath" . store /[^ :\t\n]+/ ]
Individual moddir search path entry
let month = [ label "month" . store alphanum ]
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_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 "nameserver" Sep.space (store Rx.ip)
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 ]
netgroups begin with @
let netmask = [ label "netmask" . Util.del_str "/" . store Rx.ip ]
A network mask for IP addresses
let opt_list (lns:lens) (sep:lens) = lns . ( sep . lns )*
Same as list, but there might be only one element in the list
let option = [ label "option" . store word ]
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 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") | ip6_dotint in Build.key_value_line "options" Sep.space (Build.opt_list options_entry Sep.space)
Options values
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 parameter = parameter_flag | parameter_integer | parameter_string | parameter_lists
A single parameter for defaults
let parameter_flag_kw = "always_set_home" | "authenticate" | "env_editor" | "env_reset" | "fqdn" | "ignore_dot" | "ignore_local_sudoers" | "insults" | "log_host" | "log_year" | "long_otp_prompt" | "mail_always" | "mail_badpass" | "mail_no_host" | "mail_no_perms" | "mail_no_user" | "noexec" | "path_info" | "passprompt_override" | "preserve_groups" | "requiretty" | "root_sudo" | "rootpw" | "runaspw" | "set_home" | "set_logname" | "setenv" | "shell_noargs" | "stay_setuid" | "targetpw" | "tty_tickets" | "visiblepw"
A flag parameter for defaults
let parameter_integer_nobool_kw = "passwd_tries"
An integer parameter for defaults
let parameter_list = parameter . (sep_com parameter)*
A list of comma-separated parameters for defaults
let parameter_lists_kw = "env_check" | "env_delete" | "env_keep"
A single list parameter for defaults
let parameter_string_nobool_kw = "badpass_message" | "editor" | "mailsub" | "noexec_file" | "passprompt" | "runas_default" | "syslog_badpri" | "syslog_goodpri" | "timestampdir" | "timestampowner" | "secure_path"
A string parameter for defaults
let port = [ label "port" . store num_re ]
let prefixlen = [ label "prefixlen" . Util.del_str "/" . sto_num ]
A prefix for IP addresses
let program = [ label "program" . opt_hash . bang . ( opt_plus | [ Build.xchgs "-" "reverse" ] ) . programs . eol . entries ]
a program begins with an optional hash, a bang, and an optional + or -
let programs = label_opt_list_or "program" (store word) comma "*"
a list of programs
let protocol = [ label "protocol" . store protocol_re ]
let rbracket = Util.del_str "}"
let reaction = let status_kw = /[Ss][Uu][Cc][Cc][Ee][Ss][Ss]/ | /[Nn][Oo][Tt][Ff][Oo][Uu][Nn][Dd]/ | /[Uu][Nn][Aa][Vv][Aa][Ii][Ll]/ | /[Tt][Rr][Yy][Aa][Gg][Aa][Ii][Nn]/ in
The reaction on lookup result like `[NOTFOUND=return]’ TODO: Use case-insensitive regexps when ticket #147 is fixed.
let real_server_field = field "weight" sto_num | block "TCP_CHECK" tcp_check_field
let record = [ seq "entry" . [ label "target" . store target ] . sep_tab . [ label "device" . store fspath ] . (sep_tab . [ label "password" . store fspath ] . ( sep_tab . comma_sep_list "opt")? )? . eol ]
A crypttab record
let record = [ key keyword . (sep_spc . store word)? . eol ]
Keyword, followed by optional whitespace and value, followed by EOL.
let record (title:lens) (entry:lens) = record_noempty title ( entry | empty )
Generic INI File record
let record = let value = store /[^ \t\n]+(
   [ \t]+[^ \t\n]+
)*/ in [ key Rx.word . Sep.space . value . Util.eol ]
A login.defs record
let record = [ seq "entries" . (record_local | record_remote) . eol ]
A sequence of record_local or record_remote entries
let record = [ label "service-name" . store word_re . sep_spc . port . del "/" "/" . protocol . ( sep_spc . alias )* . comment_or_eol ]
A standard /etc/services record TODO: make sure a space is added before a comment on new nodes
let record_local = [ label "type" . store "local" ] . Sep.tab . database . Sep.tab . user . Sep.tab . method
when type is “local”, there is no “address” field
let record_noempty (title:lens) (entry:lens) = [ title . entry* ]
INI File Record with no empty lines allowed.
let record_remote = [ label "type" . store remtypes ] . Sep.tab . database . Sep.tab . user . Sep.tab . address . Sep.tab . method
let runas_alias = alias_entry "Runas_Alias" "runas_user" sto_to_com
Run_Alias, see alias_field
let runas_spec_user = alias_list "runas_user" sto_to_com
A runas specification for spec, using alias_list for listing users and/or groups used to run a command
Close