Skip to content

Instantly share code, notes, and snippets.

@aalonzolu
Last active May 18, 2018 03:55
Show Gist options
  • Save aalonzolu/08a22a59fb0c9ea0528bff9122f2028c to your computer and use it in GitHub Desktop.
Save aalonzolu/08a22a59fb0c9ea0528bff9122f2028c to your computer and use it in GitHub Desktop.
Export Vultr DNS records to BIND text file for importing in Cloudflare
import requests
import json
domain_name = 'example.com' # Change this
accces_token = 'API_KEY' #Change this
r=requests.get("https://api.vultr.com/v1/dns/records?domain="+domain_name, headers={"API-Key":accces_token,'Content-Type': 'application/json'})
JSON_DATA = r.json()
if(r.status_code != 200):
print "Error: "+r.text
else:
DNS_TYPE={}
for item in JSON_DATA:
DNS_TYPE[item['type']] = []
DNS_TYPE
for item in JSON_DATA:
DNS_TYPE[item['type']].append(item)
DNS_TYPE['MX']
for dtype in DNS_TYPE:
print ';; '+dtype
for record in DNS_TYPE[dtype]:
if record['name'] !='':
record['name']= record['name']+'.'
if record['priority']==0:
print record['name']+domain_name+'.\t'+'1\t'+'IN\t'+record['type']+'\t'+record['data']
else:
print record['name']+domain_name+'.\t'+'1\t'+'IN\t'+record['type']+'\t'+str(record['priority'])+'\t'+record['data']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment