Introduction
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 87 providers: