Skip to main content

Route53 DNS utility

Project description

you are here 🌎

PyPI - License PyPI

Somehow, adding a new record to Route53 takes 100 lines of Python. So now it only takes one.

>>> from youarehere import create_record
>>> create_record("A", "foo.example.com", "4.4.4.4")

You can also easily point a record to the current machine:

>>> from youarehere import point_record_to_here
>>> point_record_to_here("foo.example.com")

use case

You have a Raspberry Pi that travels around and you want to keep a pointer to it in Route53. Add this as a cron-job:

$ python3 -c "point_record_to_here('my-pi.example.com')"

create_record Arguments

Argument Type Default Description
record_type str The type of the record to add (e.g. A, CNAME, etc). For an exhaustive list, see youarehere.VALID_RECORD_TYPES.
name str The DNS record name (e.g. "foo.example.com")
destination str / List[str] The destination IP or values (e.g. ["4.4.4.4", "8.8.8.8"]). If you provide a single string, it will be treated as an Array[1].
hosted_zone_id str None ID of the hosted zone to which to add this record. Guess automatically by default, or use youarehere.guess_hosted_zone_id_for_name.
comment str "" An optional comment for the change request (e.g. "Baby's first DNS record!")
ttl int 300 The TTL for your record; defaults to 300 which is probably too low.

<small>Documentation auto-generated with docshund, bork bork. 🐕</small>

CLI Usage

Examples:

Point 'test.example.com' to the current machine:

$ youarehere test.example.com

Point 'test.example.com' to the IP 93.184.216.34

$ youarehere test.example.com 93.184.216.34

Point 'test.example.com' to a set of IPs in descending order, with a TTL of 6000 seconds.

$ youarehere test.example.com 93.184.216.34,93.184.216.35 --ttl 6000
Argument Description
name Record to add (e.g. "test.example.com")
destination IP destination. Default: Current global IP.
Flag Description
--type (A) The type of record to add
--ttl (300) The TTL of the new DNS record
--dry-run (False) Print and quit without making changes

Project details


Download files

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

Files for youarehere, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size youarehere-1.0.0-py3-none-any.whl (9.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size youarehere-1.0.0.tar.gz (8.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page