From c07f52c493f3b89e9d2920071fc3c9bb09000c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Sun, 22 Oct 2023 09:20:31 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Add=20function=20to=20delete=20C?= =?UTF-8?q?loudFlare=20DNS=20records?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prepare-labs/dns-cloudflare.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/prepare-labs/dns-cloudflare.sh b/prepare-labs/dns-cloudflare.sh index 8330e462..9b96fa4b 100755 --- a/prepare-labs/dns-cloudflare.sh +++ b/prepare-labs/dns-cloudflare.sh @@ -10,9 +10,18 @@ fi . ~/creds/creds.cloudflare.dns cloudflare() { + case "$1" in + GET|POST|DELETE) + METHOD="$1" + shift + ;; + *) + METHOD="" + ;; + esac URI=$1 shift - http https://api.cloudflare.com/client/v4/$URI "$@" "Authorization:Bearer $CLOUDFLARE_TOKEN" + http --ignore-stdin $METHOD https://api.cloudflare.com/client/v4/$URI "$@" "Authorization:Bearer $CLOUDFLARE_TOKEN" } _list_zones() { @@ -32,6 +41,15 @@ _populate_zone() { done } +_clear_zone() { + ZONE_ID=$(_get_zone_id $1) + for RECORD_ID in $( + cloudflare zones/$ZONE_ID/dns_records | jq -r .result[].id + ); do + cloudflare DELETE zones/$ZONE_ID/dns_records/$RECORD_ID + done +} + _add_zone() { cloudflare zones "name=$1" }