added automatic zone id resolution for convenience and increased records from 100 to 50000

pull/16/head
Hari Sekhon 7 months ago
parent b65458a780
commit eb5298a686

@ -24,23 +24,37 @@ srcdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
usage_description="
Lists all DNS records for a given Cloudflare zone
Resolves the domain name to a zone ID first and then submits the request to list the DNS records in that domain
https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records
Output format:
<dns_record> <type> <ttl>
Limitation: only lists the first 50,000 DNS records in a zone. Pagination code addition required if you have a zone larger than this
"
# used by usage() in lib/utils.sh
# shellcheck disable=SC2034
usage_args="<zone_id>"
usage_args="<domain>"
help_usage "$@"
min_args 1 "$@"
zone_id="$1"
domain="$1"
zone_id="$("$srcdir/cloudflare_zones.sh" |
grep -E "^[[:alnum:]]+[[:space:]]+$domain$" |
sed 's/[[:space:]].*$//' ||
die "Failed to resolved zone id for domain '$domain' - is this the right domain name?")"
if [ -z "$zone_id" ]; then
die "Zone ID is empty, check code"
fi
"$srcdir/cloudflare_api.sh" "/zones/$zone_id/dns_records" |
"$srcdir/cloudflare_api.sh" "/zones/$zone_id/dns_records?per_page=50000" |
jq -r '.result[] | [.name, .type, .ttl] | @tsv' |
column -t

Loading…
Cancel
Save