Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
getssl / usr / share / getssl / dns_scripts / dns_del_hostway
Size: Mime:
#!/usr/bin/env bash
# Need to add your API key below or set as env variable
apikey="$HOSTWAY_API_KEY"

# This script adds a token to dynu.com DNS for the ACME challenge
# usage dns_add_dynu "domain name" "token"
# return codes are;
# 0 - success
# 1 - error in input
# 2 - error within internal processing
# 3 - error in result ( domain not found in dynu.com etc)

fulldomain="${1}"
token="${2}"

API='https://api.hostway.com/dns'

# Check initial parameters
if [[ -z "$fulldomain" ]]; then
  echo "DNS script requires full domain name as first parameter"
  exit 1
fi
if [[ -z "$token" ]]; then
  echo "DNS script requires challenge token as second parameter"
  exit 1
fi

curl_params=( -H "accept: application/json" -H "Authorization: Basic $apikey" -H 'Content-Type: application/json charset=utf-8')

# Get domain id
# curl -X GET "https://api.hostway.com/dns/domain/"
resp=$(curl --silent "${curl_params[@]}" -X GET "$API/${fulldomain}")

# Match domain id
re="\"serial\":\s?([^}]*)"
if [[ "$resp" =~ $re ]]; then
  domain_id="${BASH_REMATCH[1]}"
fi

if [[ -z "$domain_id" ]]; then
  echo 'Domain name not found on your Hostway account'
  exit 3
fi

# Check for existing _acme-challenge TXT record
# curl -X GET "https://api.hostway.com/dns/domain/records?filterType=TXT&page=1&pageSize=100"
resp=$(curl --silent "${curl_params[@]}" -X GET "$API/${fulldomain}/records?filterType=TXT")
#re="\"id\":\s?([^}]*)"
re="(?<=_acme(.*)\"id\":\s?)[0-9]+(?=\})"
if [[ "$resp" =~ $re ]]; then
    record_id="${BASH_REMATCH[1]}"
fi

if [[ -z "$record_id" ]]; then
    echo "Not able to find a record to delete"
else
  # Delete existing record
  # curl -X DELETE https://api.hostway.com/dns/{domain}/records/{record_id}
  resp=$(curl --silent \
    "${curl_params[@]}" \
    -X DELETE "${API}/${fulldomain}/records/${record_id}")

    if [[ "$resp" == "" ]]; then
        echo "Record deleted successfully for ${fulldomain}"
    fi
fi