The rabbit Erlang.application config
let rabbit = Erlang.application "rabbit" parameters
let raidoption =
Right square bracket
let rbrace = "}"
Right curly brackets
let rbrack = "]"
let rbracket = Util.del_str ")"
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 = let num_re = "weight" in let flag_re = "inhibit_on_failure" in let to_eol_re = /notify_(up|down)/ in field num_re sto_num | flag flag_re | field to_eol_re sto_to_eol | block "TCP_CHECK" tcp_check_field | block "MISC_CHECK" misc_check_field | block "SMTP_CHECK" smtp_check_field | block /(HTTP|SSL)_GET/ http_check_field
let realm_entry = [ label "user" . [ label "username" . store Rx.word ] . del /[ \t]*:[ \t]*/ ": " . [ label "password" . store Rx.word ] . [ label "realm" . comma_sep . store Rx.word ]* . Util.eol ]
Recipients are made out of any of the above recipient definitions
let recipient = mail | script | ignore | format | repeat | unmatched | stop | macro
An sssd.conf record
let record = IniFile.record title entry
let record = IniFile.record title entry
let record = [ seq "record" . entries+ ]
let record = [ Util.indent . seq "source" . [ label "type" . store word ] . sep_ws . [ label "uri" . store word ] . sep_ws . [ label "distribution" . store word ] . [ label "component" . sep_ws . store word ]* . del /[ \t]*(#.*)?/ "" . 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) ]
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 ]
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 | port_range) . del "/" "/" . protocol . ( sep_spc . alias )* . comment_or_eol ]
Use the non-indented empty
let record = IniFile.record_noempty title (entry|empty)
An IniFile.record
let record = IniFile.record title (entry|include)
let record_ace = IniFile.record title_ace entry_ace
let record_acf = IniFile.record_noempty title_acf entry_acf
let record_ade = IniFile.record title_ade entry_ade
let record_adf = IniFile.record_noempty title_adf entry_adf
let record_bce = IniFile.record title_bce entry_bce
let record_bcf = IniFile.record_noempty title_bce entry_bcf
let record_bde = IniFile.record title_bde entry_bde
let record_bdf = IniFile.record_noempty title_bdf entry_bdf
Default regexp for title_label keyword pattern
let record_label_re = /[^]\r\n]+/
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* ]
Default regexp for title keyword pattern
let record_re = ( /[^]\r\n\/]+/ - /#comment/ )
let record_remote = [ label "type" . store remtypes ] . Sep.tab . database . Sep.tab . user . Sep.tab . address . Sep.tab . method
The recover filter definition
let recover = flag "RECOVER"
string with length < 5
let refid_re = /[A-Za-z0-9_.-]{1,5}/
A relative decimal
let reldecimal = /[+-]?[0-9]+([.,][0-9]+)?/
let release_upgrades = "# Default behavior for the release upgrader. [DEFAULT] Prompt=lts "
A relative integer
let relinteger = /[-+]?[0-9]+/
A relative integer, without explicit plus sign
let relinteger_noplus = /[-]?[0-9]+/
non-local connection types
let remtypes = "host" | "hostssl" | "hostnossl"
The repeat recipient definition
let repeat = kw_word_filters_opt "REPEAT"
let reset_counters = counter "environment" . counter "method" . counter "allow" . counter "allow_ip"
resize tag
let resize = tag "resize"
Right glob separator
let rglob = "\">>"
A router
let router = Rx.ipv4
Add spaces to the right of char
let rspace (char:string) = del (char . /[ \t\n]*/ ) char
let rtable_re = Rx.byte
Rules are made of rule_filter and then recipients sperarated by a whitespace
let rule = [ seq "rules" . filters . ws_or_eol . recipients . eol ]
Filters are made out of any of the above filter definitions
let rule_filter = page | group | host | service | color | time | duration | recover | notice
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