A simple CLI client for AuroraDNS
Project description
auroradns-cli
A command line api client for PCextreme's AuroraDNS service based on Apache Libcloud.
Usage
usage: auroradns-cli.py [action] [arguments] (--help for more information)
AuroraDNS Command Line Interface
positional arguments:
{list-zones,get-record,create-record,delete-record,update-record,create-zone,delete-zone,set-hostname}
Specify the action to perform.
optional arguments:
-h, --help show this help message and exit
--details print details
--extras print extras
--force do not prompt
authentication:
--apikey APIKEY, -a APIKEY
dns api key
--secretkey SECRETKEY, -s SECRETKEY
dns secret key
record arguments:
-n NAME, --name NAME dns name field, defaults to apex
-d DATA, --data DATA dns data/content field
-p PRIO, --prio PRIO dns record PRIO, mandatory for MX and SRV record types
-t TYPE, --type TYPE dns record type, defaults to A/AAAA based on DATA, mandatory otherwise
--ttl TTL dns record TTL
--recordid RECORDID dns record ID
zone arguments:
-z ZONE, --zone ZONE dns ZONE name
--zoneid ZONEID dns zone ID
Examples
List all records in a zone:
./auroradns-cli.py get-record --zone=mydomain.net
name type priority ttl data
----------------- ---------- ---------- ---------- ----------------------------------------------------------------------
@ A 900 203.0.113.20
* A 900 203.0.113.20
@ AAAA 900 2001:db8:1337::5054:efff:fe0c:c675
* AAAA 900 2001:db8:1337::5054:efff:fe0c:c675
@ MX 10 900 primary.mail.pcextreme.nl
@ MX 20 900 fallback.mail.pcextreme.nl
@ NS 3600 ns081.auroradns.eu
@ NS 3600 ns082.auroradns.nl
@ NS 3600 ns083.auroradns.info
@ SOA 4800 ns081.auroradns.eu admin.auroradns.eu 2019011401 86400 7200 604800 300
Filter on specific record types and ttl:
./auroradns-cli.py get-record --zone=mydomain.net --type=AAAA --ttl=900
name type priority ttl data
------------- ---------- ---------- ---------- ----------------------------------
@ AAAA 900 2001:db8:1337::5054:efff:fe0c:c675
* AAAA 900 2001:db8:1337::5054:efff:fe0c:c675
Create a new dns-record, IPv6 and IPv4 records are validated and record type is automatically set to AAAA or A if not specified. TTL defaults to zone default:
./auroradns-cli.py create-record --zone=mydomain.net --name=test123 --data=2001:db8:1337:dbfd:5054:3eff:feba:c1f3
Record created: test123.mydomain.net. 3600 IN AAAA 2001:db8:1337:dbfd:5054:3eff:feba:c1f3
Delete a record, multiple records can be removed if the filters return multiple results:
./auroradns-cli.py delete-record --zone=mydomain.net --name=mysubdomain --type=A
name type priority ttl data
-------------------- ---------- ---------- ---------- ----------------------------
mysubdomain AAAA 3600 2001:db8:1337::5054:15ff:feb8:6a0e
Warning, you are about to delete the records shown above, this cannot be undone.
Type _uppercase_ yes to confirm: YES
Deleted record id 9f020b67-5b77-46e8-832c-0792280e3260: mysubdomain.mydomain.net. 3600 IN A 203.0.113.10
Automatically create or update AAAA-/A-records for the host
./auroradns-cli.py set-hostname
Record created: mysubdomain.mydomain.net. 3600 IN AAAA 2001:db8:1337::5054:15ff:feb8:6a0e
Record updated: mysubdomain.mydomain.net. 3600 IN A 203.0.113.10
Authentication
You can either pass the --apikey APIKEY
and --secretkey SECRETKEY
command
line argumenrs or set the DNS_API_KEY
and DNS_SECRET_KEY
environment
variables:
export DNS_API_KEY=MYAPIKEY; export DNS_SECRET_KEY=MYSECRETKEY
Setup
pip3 install auroradns-cli
Requirements
Ubuntu 16+
apt install python3 python3-pip python3-dev
CentOS 7
yum install python3 python3-pip python3-devel
License
- MIT License
This is my first python project ever so there's probably a lot of code in here that doesn't even come close to being pythonic and some design choices that may seem very strange but they seemed logical to me at the time. So no guarantees on this whatsoever, use at your own risk. If this works for you, great, enjoy! If not, send me a message and I'll try to fix the issue.
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
Built Distribution
File details
Details for the file auroradns-cli-0.3.2.tar.gz
.
File metadata
- Download URL: auroradns-cli-0.3.2.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28391909ec4378fe0c0b2da199f4cfcefa450ffc4e77bb9c9e7ab1a4689173fd |
|
MD5 | 4c06352adab5b95135d3268fe1611a8d |
|
BLAKE2b-256 | 76a93fd37cb0dc671e9a6b595c80d8b74335e0c53ecdb6a438ed26157238d109 |
File details
Details for the file auroradns_cli-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: auroradns_cli-0.3.2-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 872664222d6889b4cc2f6fb500430b2e88486dc7d716a6fdf79e97c7e9e24040 |
|
MD5 | 33ec72f92a363f71b4aa02d39bd10b06 |
|
BLAKE2b-256 | ad5224715d1d52ba24e3032f3e6aa2bb586a8464d70d0d372583eb149fcc80a8 |