#!/bin/bash # # pdns-tools # https://git.stack-source.com/msb/pdns-tools # Copyright (c) 2022 Matthew Saunders Brown # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # load include file source $(dirname $0)/pdns.sh help() { echo "Check if Zone is extant (exits)." echo "" echo "usage: $thisfilename -z [-h]" echo "" echo " -h Print this help." echo " -z Zone to get." echo echo " Echoes 'true' if zone exists with exit code 0, 'false' if zone does not exist with exit code 1, 'error' with exit code 2 on error." } pdns:getoptions "$@" # check for zone if [[ -z $zone ]]; then echo "zone is required" exit 1 fi # export zone and check http status zone_status=$(/usr/bin/curl --silent --output /dev/null --write-out "%{http_code}" -H "X-API-Key: $api_key" $api_base_url/zones/$zone?rrsets=false) if [[ $zone_status = 200 ]]; then # zone exists echo true exit 0 elif [[ $zone_status = 404 ]]; then # zone does not exist echo false exit 1 else # error, unexpected response code echo error exit 2 fi