Godaddy - Python - AWS Lambda
Lambda Code to Add, Update, Get and Delete Records in Godaddy
import json import boto3 #Get Godaddy API Keys #https://developer.godaddy.com/keys/ #Python Godaddy Library #https://pypi.org/project/GoDaddyPy/ from godaddypy import Client, Account def lambda_handler(event, context): print("event", event) try: response_body = {"isBase64Encoded": False, "statusCode": 200, "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Accept': 'application/json'}, "body": json.dumps("An exception occured in the lambda interface.") } checkSource = event.get('httpMethod', False) if (checkSource): event_body = json.loads(event['body']) else: event_body = event getAction = event_body['action'] if (getAction == 'updaterecord'): getdomain = event_body['domain'] getname = event_body['name'] getvalue = event_body['value'] gettype = event_body['type'] userAccount = Account(api_key='access key ', api_secret='secret key ') userClient = Client(userAccount) value = getvalue domain = getdomain name = getname type = gettype updateResult = userClient.update_record_ip(value, domain, name, type) print(updateResult) if updateResult is True: response_body['body'] = json.dumps({"status": "SUCCESS", "result": "Record Updated Successfully."}) else: response_body['body'] = json.dumps({"status": "FAIL", "result": "Error occoured while Updating Record."}) if (getAction == 'addrecord'): getdomain = event_body['domain'] getname = event_body['name'] getvalue = event_body['value'] gettype = event_body['type'] userAccount = Account(api_key='access key ', api_secret='secret key ') userClient = Client(userAccount) value = getvalue domain = getdomain name = getname type = gettype updateResult = userClient.add_record(domain, {'data':value,'name':name,'ttl':3600, 'type':type}) #update_record_ip(value, domain, name, type) print(updateResult) if updateResult is True: response_body['body'] = json.dumps({"status": "SUCCESS", "result": "Record Added Successfully."}) else: response_body['body'] = json.dumps({"status": "FAIL", "result": "Error occoured while Adding Record."}) if (getAction == 'deleterecord'): getdomain = event_body['domain'] getname = event_body['name'] userAccount = Account(api_key='access key ', api_secret='secret key ') userClient = Client(userAccount) domain = getdomain name = getname updateResult = userClient.delete_records(domain, name) print(updateResult) if updateResult is True: response_body['body'] = json.dumps({"status": "SUCCESS", "result": "Record Deleted Successfully."}) else: response_body['body'] = json.dumps({"status": "FAIL", "result": "Error occoured while Deleting Record."}) if (getAction == 'getrecord'): getdomain = event_body['domain'] userAccount = Account(api_key='access key ', api_secret='secret key ') userClient = Client(userAccount) domain = getdomain updateResult = userClient.get_records(domain) print(updateResult) #if updateResult is True: response_body['body'] = json.dumps(updateResult) #else: #response_body['body'] = json.dumps({"status": "FAIL", "result": "Error occoured while Listing Records."}) except Exception as e: error_message = str(e) print(error_message) response_body['body'] = json.dumps({"status": "FAIL", "result": error_message}) return response_body
Input Parameters
ADD Record into Godaddy
{ "action": "addrecord", "domain": "kishoreweb.com", "name": "admin", "value": "11.22.33.44", "type": "A" }
List Records from Godaddy
{ "action": "getrecord", "domain": "kishoreweb.com" }
DELETE Record on Godaddy
{ "action": "deleterecord", "domain": "kishoreweb.com", "name": "admin" }
UPDATE Record on Godaddy
{ "action": "updaterecord", "domain": "kishoreweb.com", "name": "admin", "value": "11.22.33.48", "type": "A" }