You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

30 lines
744 B

#! /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