| U | |
| ul1, Test_Xml | |
| unit, Test_Systemd | |
| unmatched, Xymon_Alerting | |
| Up2date | |
| Usage Example | |
| USEFUL FUNCTIONS, Grub | |
| Useful primitives, Access | |
| USEFUL PRIMITIVES | |
| user | |
| USER SPECIFICATION, Sudoers | |
| user_alias, Sudoers | |
| user_allow_other, Fuse | |
| user_list, Access | |
| user_re, Access | |
| user_record, cgrules | |
| users | |
| Util | |
| Utilities lens, Test_Xml | |
| Utility variables/ | |
| V | |
| val, LVM | |
| value | |
| Value types, Erlang | |
| value_cmd_re, Systemd | |
| value_list | |
| value_re | |
| value_sep | |
| value_single_re, Systemd | |
| value_to_eol, Grub | |
| variable, Inputrc | |
| Variables, Desktop | |
| various macros, Syslog | |
| version_pin, AptPreferences | |
| Vfstab | |
| vg_option, FAI_DiskConfig | |
| videoram, Xorg | |
| virtual_server, Keepalived | |
| virtual_server_field, Keepalived | |
| virtual_server_group, Keepalived | |
| virtual_server_group_field, Keepalived | |
| volume | |
| volume_cryptsetup, FAI_DiskConfig | |
| volume_full, FAI_DiskConfig | |
| volume_lvm, FAI_DiskConfig | |
| volume_or_comment, FAI_DiskConfig | |
| volume_raid, FAI_DiskConfig | |
| volume_tmpfs, FAI_DiskConfig | |
| volume_vg, FAI_DiskConfig | |
| vpid, Channels | |
| VRRP CONFIGURATION, Keepalived | |
| vrrp_instance, Keepalived | |
| vrrp_instance_field, Keepalived | |
| vrrp_script, Keepalived | |
| vrrp_script_field, Keepalived | |
| vrrp_sync_group, Keepalived | |
| vrrp_sync_group_field, Keepalived | |
| vrrpd_conf, Keepalived | |
| VWware_Config | |
| W | |
| weight, Automounter | |
| weight_re, Ntpd | |
| with_spaces, Test_FAI_DiskConfig | |
| word | |
| word_opt_quot, Postgresql | |
| word_opt_quot_re, Postgresql | |
| word_quot, Postgresql | |
| word_slash, Keepalived | |
| ws | |
| ws_or_eol, Xymon_Alerting | |
| ws_sep, Hosts_Access |
let ul1 = " <ul> <li>test1</li> <li>test2</li> <li>test3</li> <li>test4</li> </ul> " test Xml.doc get ul1 = { "ul" { "#text" = " " } { "li" { "#text" = "test1" } } { "#text" = " " } { "li" { "#text" = "test2" } } { "#text" = " " } { "li" { "#text" = "test3" } } { "#text" = " " } { "li" { "#text" = "test4" } } }
let unit = "# This file is part of systemd. # # See systemd.special(7) for details .include /etc/example [Unit] Description=Locale Service # Add another file .include /etc/example [Service] ExecStart=/lib/systemd/systemd-localed Type=dbus BusName=org.freedesktop.locale1 CapabilityBoundingSet= "
The unmatched recipient definition
let unmatched = [ key "UNMATCHED" . ws . [ label "filters" . filters* ] . ws_or_eol ]
user can be a username, username@hostname or a group
let user = [ label "user" . ( store user_re | store Rx.word . Util.del_str "@" . [ label "host" . store Rx.word ] ) ]
let user = [ label "user" . store Rx.word ]
TODO: support for quoted strings
let user = comma_sep_list "user"
User_Alias, see alias_field
let user_alias = alias_entry "User_Alias" "user" sto_to_com
let user_allow_other = Build.flag_line "user_allow_other"
A list of users or netgroups to apply the rule to
let user_list = Build.opt_list (user|group|netgroup) Sep.space
Regex for user/netgroup fields
let user_re = identifier_re - /[Ee][Xx][Cc][Ee][Pp][Tt]/
let user_record = generic_record "user" (store name)
a list of users or a “*”
let users = label_opt_list_or "user" (store word) comma "*"
Any value that appears on the right hand side of an assignment
let val = flat_literal | list
Match any value after “ =”.
let value = any . (Rx.space . any)*
A single value
let value (kw:regexp) (sto:lens) = [ rspace lbrace . key kw . lrspace comma . sto . lspace rbrace ]
let value_cmd_re = /[^;#@ \t\n\\-][^;#@ \t\n\\-][^;# \t\n\\]*/
List of destinations
let value_list = Build.opt_list ([ label "value" . store destination]) comma
A list of seq entries
let value_list (kw:regexp) (sto:lens) = list kw (make_value sto)
let value_re = /[^ \t\n](.*[^ \t\n])?/
let value_re = /[^ \t\n;][^\n;]*[^ \t\n;]|[^ \t\n;]/
let value_sep (dflt:string) = del /[ \t]*[ \t=][ \t]*/ dflt
Multi-value entries separated by whitespace or backslash and newline
let value_sep = del /[ \t]+|[ \t]*\\\\[ \t]*\n[ \t]*/ " "
let value_single_re = /[^;# \t\n\\][^;#\n\\]*[^;# \t\n\\]|[^;# \t\n\\]/
let value_to_eol = store /[^= \t\n][^\n]*[^= \t\n]|[^= \t\n]/
An inputrc variable declaration
let variable = [ Util.del_str "set" . Sep.space . key (Rx.word - "entry") . Sep.space . store Rx.word . Util.eol ]
let version_pin = pin_gen "version"
An option for volume_vg
let vg_option = [ key "pvcreateopts" . Util.del_str "=\"" . store /[^"\n]*/ . Util.del_str "\"" ]
let videoram = entry_int "VideoRam" /[vV]ideo[rR]am/
let virtual_server = named_block_arg "virtual_server" "ip" "port" virtual_server_field
let virtual_server_field = let num_re = "delay_loop" in let word_re = /lb_(algo|kind)/ | "nat_mask" | "protocol" in field num_re sto_num | field word_re sto_word | named_block_arg "real_server" "ip" "port" real_server_field
let virtual_server_group = named_block "virtual_server_group" virtual_server_group_field
let virtual_server_group_field = [ indent . label "vip" . [ ipaddr ] . sep_spc . [ label "port" . sto_num ] . comment_or_eol ]
Test FAI_DiskConfig.volume
test FAI_DiskConfig.volume get "primary /boot 20-100 ext3 rw\n" = { "primary" { "mountpoint" = "/boot" } { "size" = "20-100" } { "filesystem" = "ext3" } { "mount_options" { "1" = "rw" } } }
let volume_cryptsetup = volume_full (key ("swap"|"tmp"|"luks")) device
let volume_full (type:lens) (third_field:lens) =
let volume_lvm = volume_full type_label_lv size (* lvm logical volume: vg name and lv name *) | volume_vg
A succesion of volumes and comments
let volume_or_comment (vol:lens) = (vol|empty|comment)* . vol
let volume_raid = volume_full (key /raid[0156]/) disk_list (* raid level *)
let volume_tmpfs = [ key "tmpfs" . space . mountpoint .space . size . space . mount_options . (space . fs_options)? . eol ]
let volume_vg = [ key "vg" . space . name . space . disk . (space . vg_option)? . eol ]
let vpid = let codec = [ equal . label "codec" . store Rx.integer ] in let vpid_entry (lbl:string) = [ label lbl . store Rx.integer . codec? ] in vpid_entry "vpid" . ( plus . vpid_entry "vpid_pcr" )?
let vrrp_instance = named_block "vrrp_instance" vrrp_instance_field
let vrrp_instance_field = let word_re = "state" | "interface" | "lvs_sync_daemon_interface" in let num_re = "virtual_router_id" | "priority" | "advert_int" | "garp_master_delay" in let to_eol_re = /notify_(master|backup|fault)/ in let flag_re = "smtp_alert" | "nopreempt" | "ha_suspend" | "debug" in field word_re sto_word | field num_re sto_num | field to_eol_re sto_to_eol | flag flag_re | block "authentication" ( field /auth_(type|pass)/ sto_word ) | block "virtual_ipaddress" static_ipaddress_field | block /track_(interface|script)/ ( flag word )
let vrrp_script = named_block "vrrp_script" vrrp_script_field
let vrrp_script_field = let num_re = "interval" | "weight" in let to_eol_re = "script" in field to_eol_re sto_to_eol | field num_re sto_num
let vrrp_sync_group = named_block "vrrp_sync_group" vrrp_sync_group_field
let vrrp_sync_group_field = block "group" [ indent . key word . comment_or_eol ]
contains subblocks of VRRP synchronization group(s) and VRRP instance(s)
let vrrpd_conf = vrrp_sync_group | vrrp_instance | vrrp_script
let weight = Rx.integer
value between 1 and 10
let weight_re = /10|[1-9]/
let with_spaces = "disk_config disk2 raw-disk - 0 - - "
let word = /[^|", \t\n]+/
let word = /[^# \n\t]+/
let word = /[^#, \n\t\/]+/
let word = Rx.word
let word = Rx.word
let word = Rx.word
let word = /[^#, \n\t\/]+/
let word = /[^=\n\t ]+/
let word = Rx.word
let word = store /[A-Za-z0-9@\*.+=-]+/
An alphanumeric string
let word = /[A-Za-z0-9_.-]+/
our version can’t start with [_.-] because it would mess up the grammar
let word = /[A-Za-z0-9][A-Za-z0-9_.-]*/
Storing a word_opt_quot_re, with or without quotes
let word_opt_quot = Quote.do_squote_opt (store word_opt_quot_re)
Strings that don’t require quotes
let word_opt_quot_re = /[A-Za-z][A-Za-z0-9_]*/
Anything other than word_opt_quot or number Quotes are mandatory
let word_quot = let esc_squot = /\\\\'/ in let no_quot = /[^#'\n]/ in let forbidden = word_opt_quot_re | number_re in let value = (no_quot|esc_squot)* - forbidden in Quote.do_squote (store value)
let word_slash = word | "/"
let ws = del /[ \t]+/ " "
let ws = del /[ \t]+?/ " "
let ws_or_eol = del /[ \t\n]+?/ " "
let ws_sep = / +/