diff --git a/ovh-domain.py b/ovh-domain.py index 6803f5e..ba747f4 100755 --- a/ovh-domain.py +++ b/ovh-domain.py @@ -1,18 +1,27 @@ #!/usr/bin/python3 -import requests +import argparse +import json import ovh import pycurl -import argparse +import requests try: input = raw_input except NameError: pass -parser = argparse.ArgumentParser(description='Process arguments') -parser.add_argument('domain', metavar='method', type=str, help='Function to use') -parser.add_argument('--method', metavar='fr', type=str, help='domain to request from') +def addCNAME(client,domain,fr,to): + result = client.post(base_url + "/record",fieldType="CNAME",subDomain=fr,target=to,ttl=900) + print(json.dumps(result,indent=4)) + result = client.post(base_url+ "/refresh") + print(json.dumps(result,indent=4)) + +parser = argparse.ArgumentParser(description="Process arguments") +parser.add_argument("domain", metavar="domain", type=str, help="Domain to request") +parser.add_argument("--method", metavar="type", type=str, help="Function to use") +parser.add_argument("--src", metavar="src", type=str, help="Source subdomain") +parser.add_argument("--dest", metavar="dst", type=str, help="Dest IP or domain") args = parser.parse_args() # Instantiate. Visit https://api.ovh.com/createToken/?GET=/me @@ -20,7 +29,11 @@ args = parser.parse_args() client = ovh.Client() # Grab bill list -zone = client.get('/domain/zone/' + args.domain + '/record') -for id in zone: - entry = client.get('/domain/zone/' + args.domain + '/record/'+str(id)) - print(entry) +base_url = "/domain/zone/" + args.domain +zone = client.get(base_url + "/record") +if args.method == "list": + for id in zone: + entry = client.get(base_url + "/record/"+str(id)) + print(entry) +elif args.method == "addCNAME": + addCNAME(client,args.domain,args.src,args.dest)