Rule Template Helper Functions
templr
has a number of string and networking helper functions that can be used in the rule templates. An example config can be found here.
slice
slice
returns the given arguments as an iterable list:
slice "8.8.8.8" "8.8.4.4"
The above returns ['8.8.8.8', '8.8.4.4']
list
list
returns a comma delimeted list of the given array:
list "8.8.8.8" "8.8.4.4"
The above returns “8.8.8.8, 8.8.4.4
”
rpad
rpad
pads spaces onto the right side of the given string
rpad 10 "hello"
The above produces “hello
”
ipfmt
ipfmt
pads an IP address string based on the type of IP address it is
ipfmt "8.8.8.8"
The above produces “8.8.8.8
”
lookupHosts
lookupHosts
returns a list of HostInfo objects
lookupHosts $hostList
lookupIPv4Host
lookupIPv4Host
returns a list of the given host’s IPv4 addresses
lookupIPv4Host "google-public-dns-a.google.com"
The above returns “8.8.8.8
”
lookupIPv6Host
lookupIPv6Host
returns a list of the given host’s IPv6 addresses
lookupIPv4Host "google-public-dns-a.google.com"
The above returns “2001:4860:4860::8888
”
isValidIPv4
isValidIPv4
returns true if the given address is a valid IPv4 address or IPv4 CIDR range
isValidIPv4 "8.8.8.8"
The above returns true
isValidIPv6
isValidIPv6
returns true if the given address is a valid IPv6 address or IPv6 CIDR range
isValidIPv6 "2001:4860:4860::8888"
The above returns true
isValidIPv4Addr
isValidIPv4Addr
returns true if the given address is a valid IPv4 address
isValidIPv4Addr "8.8.8.8"
The above returns true
isValidIPv6Addr
isValidIPv6Addr
returns true if the given address is a valid IPv6 address
isValidIPv6Addr "2001:4860:4860::8888"
The above returns true
isValidIPv4CIDR
isValidIPv4CIDR
returns true if the given address is a valid IPv4 CIDR range
isValidIPv4CIDR "10.0.0.0/8"
The above returns true
isValidIPv6CIDR
isValidIPv6CIDR
returns true if the given address is a valid IPv6 CIDR range
isValidIPv6CIDR "2001:db8::/32"
The above returns true