Q | |
quote_opt_nil, Test_Quote | |
quote_spaces, Quote | |
quoted, Erlang | |
R | |
rabbit, Rabbitmq | |
reaction, Nsswitch | |
real_server_field, Keepalived | |
record | |
record_local, Pg_Hba | |
record_noempty, IniFile | |
record_remote, Pg_Hba | |
reset_counters, Puppet_Auth | |
rspace, Erlang | |
runas_alias, Sudoers | |
runas_spec, Sudoers |
let quote_opt_nil = let body = store Quote.any_opt_re in [ label "quote_opt_nil" . Quote.do_quote_opt_nil body ]?
Make quotes mandatory if value contains spaces, and optional if value doesn’t contain spaces.
let quote_spaces (lns:lens) =
The rabbit Erlang.application config
let rabbit = Erlang.application "rabbit" parameters
The reaction on lookup result like `[NOTFOUND=return]’ TODO: Use case-insensitive regexps when ticket #147 is fixed.
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 let action_kw = /[Rr][Ee][Tt][Uu][Rr][Nn]/ | /[Cc][Oo][Nn][Tt][Ii][Nn][Uu][Ee]/ in let negate = [ Util.del_str "!" . label "negate" ] in let reaction_entry = [ label "status" . negate? . store status_kw . Util.del_str "=" . [ label "action" . store action_kw ] ] in Util.del_str "[" . [ label "reaction" . (Build.opt_list reaction_entry Sep.space) ] . Util.del_str "]"
let real_server_field = field "weight" sto_num | block "TCP_CHECK" tcp_check_field
A crypttab record
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 ]
let record = IniFile.record title entry
let record = let moreusers = Build.opt_list [ label "moreusers" . store word ] Sep.comma in [ seq "host" . [ label "host" . store word ] . Util.del_ws_tab . [ label "dhcp" . store word ] . Util.del_ws_tab . [ label "user" . store word ] . (Util.del_ws_tab . moreusers)? . (Util.comment|Util.eol) ]
Keyword, followed by optional whitespace and value, followed by EOL.
let record = [ key keyword . (sep_spc . store word)? . eol ]
Generic INI File record
let record (title:lens) (entry:lens) = record_noempty title ( entry | empty )
A login.defs record
let record = let value = store /[^ \t\n]+([ \t]+[^ \t\n]+)*/ in [ key Rx.word . Sep.space . value . Util.eol ]
let record = [ key word . (Util.del_ws_tab . sto_line)? . Util.eol ]
A sequence of record_local or record_remote entries
let record = [ seq "entries" . (record_local | record_remote) . eol ]
let record = [ label "pattern" . store /[A-Za-z0-9@\*.-]+/ . space_or_eol . (transport | nexthop_smtp) . Util.eol ]
let record = let destinations = Build.opt_list destination comma in [ label "pattern" . word . space_or_eol Rx.space " " . destinations . Util.eol ]
let record = let operator = [ label "operator" . store "~" ] in [ Util.indent . key "path" . (Sep.space . operator)? . Sep.space . store /[^~# \t\n][^#\n]*[^# \t\n]|[^~# \t\n]/ . Util.eol . reset_counters . (Util.empty | Util.comment | setting)* . setting ]
An IniFile.record
let record = IniFile.record title entry
A standard /etc/services record TODO: make sure a space is added before a comment on new nodes
let record = [ label "service-name" . store word_re . sep_spc . port . del "/" "/" . protocol . ( sep_spc . alias )* . comment_or_eol ]
let record = IniFile.record title entry
An IniFile.record
let record = IniFile.record title (entry|include)
when type is “local”, there is no “address” field
let record_local = [ label "type" . store "local" ] . Sep.tab . database . Sep.tab . user . Sep.tab . method
INI File Record with no empty lines allowed.
let record_noempty (title:lens) (entry:lens) = [ title . entry* ]
let record_remote = [ label "type" . store remtypes ] . Sep.tab . database . Sep.tab . user . Sep.tab . address . Sep.tab . method
let reset_counters = counter "environment" . counter "method" . counter "allow" . counter "allow_ip"
Add spaces to the right of char
let rspace (char:string) = del (char . /[ \t\n]*/ ) char
Run_Alias, see alias_field
let runas_alias = alias_entry "Runas_Alias" "runas_user" sto_to_com
A runas specification for spec, using alias_list for listing users and/or groups used to run a command
let runas_spec_user = alias_list "runas_user" sto_to_com