Skip to content

Instantly share code, notes, and snippets.

@sgk
Last active December 17, 2015 21:59
Show Gist options
  • Save sgk/5678784 to your computer and use it in GitHub Desktop.
Save sgk/5678784 to your computer and use it in GitHub Desktop.
A simple script to update the AWS Route53 entry using "boto".
#!/usr/bin/python
import boto
import boto.route53.record
access_key = 'XXXXXXXXXXXXXXXXXXXX'
secret_access_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
zone_id = 'XXXXXXXXXXXXXX'
domain = 'example.com.' # last '.' required.
def update(name, ipaddr):
name = name + '.' + domain
conn = boto.connect_route53(access_key, secret_access_key)
changes = boto.route53.record.ResourceRecordSets(conn, zone_id)
for rr in conn.get_all_rrsets(zone_id, 'A', name, maxitems=10):
if rr.name != name or rr.type != 'A':
continue
change = changes.add_change('DELETE', name, 'A')
for ip in rr.resource_records:
change.add_value(ip)
change = changes.add_change('CREATE', name, 'A')
for ip in ipaddr.split(','):
change.add_value(ip)
changes.commit()
def main():
import sys
update(sys.argv[1], sys.argv[2])
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment