Skip to main content

Route53 domain updates for humans.

Project description

Route53 domain updates for humans.


With pip:

$ pip install roadtrip

With setuptools:

$ easy_install roadtrip


Roadtrip requires Python 2.7 and leans heavily on the shoulders of Boto 2.25.0+.


You can use roadtrip to update a round-robin A record, adding a new value if it doesn’t already exist:

$ roadtrip --type A --zone --name --value --add

There is also a compact syntax for each option:

$ roadtrip -t A -z -n -v -a

You can also remove a value from a list:

$ roadtrip --type A --zone --name --value --delete

You can also specify multiple values to be added, removed, or overwritten (which will discard all previous values):

$ roadtrip --type A --zone --name --value --value --overwrite

You can also get help:

usage: roadtrip [-h] --type {A,AAAA,CNAME,MX,NS,PTR,SOA,SPF,SRV,TXT} --zone
                ZONE --name NAME --value VALUE [--ttl TTL]
                (--add | --delete | --overwrite) [--access-key ACCESS_KEY]
                [--secret-key SECRET_KEY] [--verbose]

Update a Route53 record, adding or removing values.

optional arguments:
  -h, --help            show this help message and exit
                        The type of record to update.
  --zone ZONE, -z ZONE  The domain name or zone ID.
  --name NAME, -n NAME  The name to update.
  --value VALUE, -v VALUE
                        The data to add or remove. This argument can be used
                        multiple times to add or remove multiple values.
  --ttl TTL, -l TTL     Non-default TTL value.
  --add, -a             Add the value.
  --delete, -d          Remove the value.
  --overwrite, -o       Overwrite all existing values with those provided.
  --access-key ACCESS_KEY, -k ACCESS_KEY
                        Your AWS access key. Will override the
                        AWS_ACCESS_KEY_ID environment variable.
  --secret-key SECRET_KEY, -s SECRET_KEY
                        Your AWS secret key. Will override the
                        AWS_SECRET_ACCESS_KEY envionrment variable.
  --verbose, -vv        Verbose output.

You can set a non-default TTL value with --ttl and enable verbose output with --verbose.

Roadtrip will use the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables if they are set. You can provide these values yourself or override the environment variables by providing --access-key and --secret-key.

Under the hood

Roadtrip will do its best not to add an entry that already exists or delete an entry that doesn’t. It uses UPSERT to update the values based on the values that exist when you call it.


Due to the nature of eventual consistency there is a chance that the values that roadtrip sees when it is run are different than the values stored in Route53. ROADTRIP MIGHT HELP YOU LOSE DATA if you are not careful. Please be careful.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roadtrip-0.2.4.tar.gz (4.7 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page