H | |
hash, Trapperkeeper | |
header, Yaml | |
helpers, Yaml | |
hex, Rx | |
home | |
host | |
host_alias, Sudoers | |
Host_Conf | |
host_flags, Chrony | |
host_list, Chrony | |
host_options, Chrony | |
hostname | |
Hostname | |
Hostname maching, Syslog | |
hostnames, Syslog | |
Hosts_Access | |
hour, Cron | |
Htpasswd | |
http_check, Test_Keepalived | |
http_check_field, Keepalived | |
http_url_check_field, Keepalived | |
hwcap, Keepalived | |
hwtimestamp, Chrony | |
hwtimestamp_flags, Chrony | |
hwtimestamp_options, Chrony | |
hyphen, Test_Tmpfiles | |
hyphen_tree, Test_Tmpfiles |
let hash (lns:lens) = [ Util.indent . label "@hash" . store Rx.word . sep . block_newlines lns Util.comment . Util.eol ]
let header = [ label "@yaml" . Util.del_str "---" . (Sep.space . store Rx.space_in)? . eol ]
A hex value
let hex = /0x[0-9a-fA-F]+/
pw_dir
let home = [ label "home" . sto_to_col? . colon ]
pw_dir
let home = [ label "home" . sto_to_col? . colon ]
let host = /[^:# \n\t]+/
The (ex)?host filter definition
let host = kw_word /(EX)?HOST/
Host_Alias, see alias_field
let host_alias = alias_entry "Host_Alias" "host" sto_to_com
let host_flags = [ space . key cmd_flags ]
Find all NTP sources and their flags/options
let host_list = [ Util.indent . key ntp_source . space . store address_re . ( host_flags | host_options )* . eol ]
let host_options = [ space . key cmd_options . space . store number ]
let hostname = /[^-:#\(\), \n\t][^:#\(\), \n\t]*/
Hostname, FQDN or part of an FQDN possibly starting with a dot.
let hostname = /\.?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*/
A valid RFC 1123 hostname
let hostname = /(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*( [A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])/
a program begins with an optional hash, and a + or -
let hostname = [ label "hostname" . opt_hash . ( plus | [ Build.xchgs "-" "reverse" ] ) . hostnames . eol . entries ]
a list of hostnames
let hostnames = label_opt_list_or "hostname" (store Rx.word) comma "*"
let hour = [ label "hour" . store num ]
An example of an HTTP health checker
let http_check = "virtual_server 192.168.1.11 22 { real_server 10.20.40.10 22 { HTTP_GET { url { path /mrtg2/ digest 9b3a0c85a887a256d6939da88aabd8cd status_code 200 } connect_timeout 3 connect_port 8080 nb_get_retry 5 delay_before_retry 10 } SSL_GET { connect_port 8443 } } } " test Keepalived.lns get http_check = { "virtual_server" { "ip" = "192.168.1.11" } { "port" = "22" } { "real_server" { "ip" = "10.20.40.10" } { "port" = "22" } { "HTTP_GET" { "url" { "path" = "/mrtg2/" } { "digest" = "9b3a0c85a887a256d6939da88aabd8cd" } { "status_code" = "200" } } { "connect_timeout" = "3" } { "connect_port" = "8080" } { "nb_get_retry" = "5" } { "delay_before_retry" = "10" } } { "SSL_GET" { "connect_port" = "8443" } } } }
let http_check_field = let num_re = /connect_(timeout|port)/ | "nb_get_retry" | "delay_before_retry" in field num_re sto_num | block "url" http_url_check_field
let http_url_check_field = let word_re = "digest" in let num_re = "status_code" in let to_eol_re = "path" in field word_re sto_word | field num_re sto_num | field to_eol_re sto_to_eol
let hwcap = let hwcap_val = [ label "bit" . store Rx.integer ] . Sep.space . [ label "name" . store Rx.word ] in Build.key_value_line "hwcap" Sep.space hwcap_val
hwtimestamp has specific syntax
let hwtimestamp = [ Util.indent . key "hwtimestamp" . space . [ label "interface" . store no_space ] . ( space . ( [ key hwtimestamp_flags ] | [ key hwtimestamp_options . space . store no_space ] ) )* . eol ]
HW timestamping options without values
let hwtimestamp_flags = "nocrossts"
HW timestamping options with values
let hwtimestamp_options = "minpoll"|"precision"|"rxcomp"|"txcomp" |"rxfilter"
Test with a hyphen in gid
let hyphen = "L /var/log/journal 2755 root systemd-journal - -\n"
Tree for hyphen
let hyphen_tree = { "1" { "type" = "L" } { "path" = "/var/log/journal" } { "mode" = "2755" } { "uid" = "root" } { "gid" = "systemd-journal" } { "age" = "-" } { "argument" = "-" } }