Select Git revision
dns-search.sh
dns-search.sh 1.36 KiB
#!/usr/bin/bash
# ======================================================================
#
# DNS search in infoblox API
#
# ----------------------------------------------------------------------
# 2021-10-29 v1.0 <axel.hahn@iml.unibe.ch>
# 2022-01-14 v1.0 <axel.hahn@iml.unibe.ch> 1st public version
# 2022-03-01 v1.1 <axel.hahn@iml.unibe.ch> fix usage with 1st param "name"
# ======================================================================
if [ -z "$1" ] || [ "$1" = "-h" ]; then
cat <<EOH
Search for hostnames or aliases in Infoblox API
It uses dns-api.sh and adds the return field for aliases.
SYNTAX: dns-search.sh name|alias REGEX
EXAMPLES:
(1)
search for a hostname / A record
dns-search.sh www.iml.unibe.ch
OR
dns-search.sh name www.iml.unibe.ch
(2)
search for CNAME - use "alias" as 1st parameter
dns-search.sh alias www.ufive.ch
(3)
The search supports regex:
dns-search.sh ^assets
dns-search.sh "^(connector|examinator).*measured.stage"
EOH
exit 0
fi
mytype=name
if echo "$1" | grep -E '^(name|alias)$' >/dev/null
then
mytype=$1
shift 1
fi
mysearch=$1
# ----------------------------------------------------------------------
echo "; === DNS SEARCH"
echo "; search for type=$mytype"
echo "; search regex=$mysearch"
echo ";"
"$( dirname $0 )"/dns-api.sh GET "/record:host?${mytype}~=${mysearch}&_return_fields%2B=aliases"