Manipulate DNS records on various DNS providers in a standardized/agnostic way.
Table of Contents
Why using Lexicon?
Lexicon provides a way to manipulate DNS records on multiple DNS providers in a standardized way.
Lexicon can be used as:
- a CLI tool:
# Create a TXT entry in domain.net zone hosted by CloudFlare
lexicon cloudflare create domain.net TXT --name foo --content bar- or a Python library:
# Create a TXT entry in domain.net zone hosted by CloudFlare from lexicon.client import Client from lexicon.config import ConfigResolver config = ConfigResolver().with_env().with_dict({ "provider_name" : "cloudflare", "domain": "domain.net", }) with Client(config) as operations: operations.create_record("TXT", "foo", "bar")
Lexicon was designed to be used in automation, specifically letsencrypt.
Supported providers
Only DNS providers who have an API can be supported by lexicon.
Lexicon currently supports 90 providers:
Documentation
Online documentation (user guide, configuration reference) is available in the Lexicon documentation.
For a quick start, please have a look in particular at the User guide.
Contributing
If you want to help in the Lexicon development, you are welcome!
Please have a look at the Developer guide page to know how to start.
Licensing
- MIT
- Logo: transform by Mike Rowe from the Noun Project