#! /usr/bin/env bash
|
|
# NS1 Add DNS Record
|
|
|
|
if [[ -z "$NS1_API_KEY" ]]; then
|
|
echo "NS1_API_KEY variable not set"
|
|
exit 1
|
|
fi
|
|
|
|
api_url="https://api.nsone.net/v1/"
|
|
api_key=${NS1_API_KEY:-''}
|
|
|
|
domain="$1"
|
|
challenge="$2"
|
|
|
|
root=$(echo "$domain" | awk -F\. '{print $(NF-1) FS $NF}')
|
|
subdomain="_acme-challenge.${domain%}"
|
|
|
|
function create {
|
|
|
|
curl "${api_url}/zones/${root}/${subdomain}/TXT" -X DELETE \
|
|
--header "X-NSONE-Key: $api_key"
|
|
|
|
curl "${api_url}/zones/${root}/${subdomain}/TXT" -X PUT \
|
|
--header "X-NSONE-Key: $api_key" \
|
|
--header "Content-Type: application/json" \
|
|
--data "{ \"zone\": \"${root}\", \"domain\": \"${subdomain}\", \"type\": \"TXT\", \"answers\": [ { \"answer\": [ \"${challenge}\" ] } ] }"
|
|
|
|
}
|
|
|
|
create $root $subdomain
|