The following script looks just up my alley, as I am working on a python script to automate setting up servers around the world so that clients get served from a local server.
importboto3client = boto3.client('route53', aws_access_key_id="AWS_KEY", aws_secret_access_key="AWS_SEC_KEY")hostedZoneId ='HOSTED_ZONE_ID'ip='123.123.123.123'ifaws_region =="US":#US is my default region. So cont_code is blankcont_code = {}elifaws_region =="EU":cont_code = {'ContinentCode':'EU'}elifaws_region =="AP":cont_code = {'ContinentCode':'AS'}response = client.change_resource_record_sets(HostedZoneId = hostedZoneId,ChangeBatch={'Comment':'comment','Changes': [{'Action':'CREATE','ResourceRecordSet': {'Name': domain,'Type':'A','SetIdentifier':'my_a_record','GeoLocation': cont_code,'TTL': 60,'ResourceRecords': [{'Value': ip},],}},]})print("DNS record status %s "% response['ChangeInfo']['Status'])print("DNS record response code %s "% response['ResponseMetadata']['HTTPStatusCode'])
Source: Amazon route53 add geo based A record using python boto3 library | {Fetch,Decode,Execute & Share}
