{"id":27431012,"url":"https://github.com/bigmlcom/area53","last_synced_at":"2025-04-14T15:28:19.617Z","repository":{"id":65657643,"uuid":"2669567","full_name":"bigmlcom/Area53","owner":"bigmlcom","description":"Python Interface for AWS Route53","archived":false,"fork":false,"pushed_at":"2011-10-13T11:53:31.000Z","size":77,"stargazers_count":6,"open_issues_count":2,"forks_count":7,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-04-16T10:58:59.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.mariusv.com/python-interface-for-aws-route53/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bigmlcom.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-29T05:42:21.000Z","updated_at":"2024-04-16T10:58:59.473Z","dependencies_parsed_at":"2023-02-02T19:46:41.490Z","dependency_job_id":null,"html_url":"https://github.com/bigmlcom/Area53","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigmlcom%2FArea53","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigmlcom%2FArea53/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigmlcom%2FArea53/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigmlcom%2FArea53/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigmlcom","download_url":"https://codeload.github.com/bigmlcom/Area53/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248905885,"owners_count":21181069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-14T15:28:18.616Z","updated_at":"2025-04-14T15:28:19.598Z","avatar_url":"https://github.com/bigmlcom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Area53\nA python interface for AWS Route53.\n\n * Original Author: Marius Voila\n * Website: [http://www.mariusv.com](http://www.mariusv.com)\n * Blog Release: [An introduction to Are53](http://www.mariusv.com/python-interface-for-aws-route53/)\n\n## Installation\nRun these commands to install:\n\n```bash\ngit clone git://github.com/mariusv/Area53.git\ncd Area53\nsudo python setup.py install\n```\n\nYou also need to set the following environment variables:\n\n```bash\nexport AWS_ACCESS_KEY_ID=\"\u003cInsert your AWS Access Key\u003e\"\nexport AWS_SECRET_ACCESS_KEY=\"\u003cInsert your AWS Secret Key\u003e\"\n```\n\n## Usage\nI wrote this library to make dealing with Amazon's Route53 DNS service a lot easier.\nNow you can write code like the following:\n\n```python\n\u003e\u003e\u003e from area53 import route53\n\u003e\u003e\u003e zone = route53.create_zone('example.com')                 # Creates the zone, example.com.\n\u003e\u003e\u003e zone.add_a('example.com', '182.12.142.12')                # Adds A record to the zone.\n\u003e\u003e\u003e zone.add_cname('www.example.com', 'example.com')          # Adds CNAME record to the zone.\n\u003e\u003e\u003e zone.add_mx(['10 mx1.example.com', '20 mx2.example.com']) # Adds MX records to the zone.\n```\n\nNow what just happended.  On line two we create the zone.  Then we create \nan A record for the naked domain, followed by a cname for the ‘www’ subdomain \nwhich points back to the naked domain.  Then we also added two MX records \nfor our mail exchangers.  Also, you don’t need to worry about trailing dots \nand fully qualified domain names, because that is handled automatically.\n\nNow, we can grab a list of all zones like this: \n\n```python\n\u003e\u003e\u003e  route53.get_zones() # Get all hosted zones.\n[\u003cZone:example.com.\u003e, \u003cZone:bluepines.org.\u003e]\n```\n\nOr we can grab our individual zone by name:\n\n```python\n\u003e\u003e\u003e zone = route53.get_zone('example.com')\n```\n\nYou can also look at what records you have in your zone:\n\n```python\n\u003e\u003e\u003e for record in zone.get_records():\n...     print record\n...\n\u003cRecord:A:example.com.:[u'182.12.142.12']\u003e\n\u003cRecord:CNAME:www.example.com.:['example.com.']\u003e\n\u003cRecord:MX:example.com.:[u'10 mx1.example.com.', u'20 mx2.example.com.']\u003e\n\u003cRecord:NS:example.com.:[u'ns-1249.awsdns-28.org.', u'ns-902.awsdns-48.net.']\u003e\n\u003cRecord:SOA:example.com.[u'ns-1249.awsdns-28.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400']\u003e\n```\n\nAnd here is how you grab just the nameservers for your zone:\n\n```python\n\u003e\u003e\u003e zone.get_nameservers() # Get nameservers for the zone.\n[u'ns-1249.awsdns-28.org.', u'ns-902.awsdns-48.net.']\n```\n\nYou add the nameservers to your domain \nregistrar to actually switch to Amazon’s DNS service.  I would recommend \nmigrating a non-critical domain to start to make sure that you understand \nthe process before moving your big domain with hundreds of records over to Route53. \n\nNow we can remove all these records and the zone itself like so:\n\n```python\n\u003e\u003e\u003e zone = route53.get_zone('example.com') # Get the zone.\n\u003e\u003e\u003e zone.delete_a('example.com')           # Delete A record from the zone.\n\u003e\u003e\u003e zone.delete_cname('www.example.com')   # Delete CNAME record from the zone.\n\u003e\u003e\u003e zone.delete_mx()                       # Delete MX records from the zone.\n\u003e\u003e\u003e zone.delete()                          # Delete the zone itself.\n```\n\nIf anyone has any questions, bugs or issues then feel free to ask.  \nHopefully, this will make your life with Route53 significantly easier.\n\n## Dependencies\nboto - must have at least version 2.0\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigmlcom%2Farea53","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigmlcom%2Farea53","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigmlcom%2Farea53/lists"}