Resolve "Automatic token generation"
This commit is contained in:
parent
a30d4b70ea
commit
57a85158b3
7 changed files with 338 additions and 27 deletions
|
|
@ -2,6 +2,7 @@ import click
|
|||
|
||||
from transip_client.main import detect
|
||||
|
||||
|
||||
DEFAULT_DNS = "myip.opendns.com"
|
||||
DEFAULT_DNS_NAME = "@resolver1.opendns.com"
|
||||
DEFAULT_API_URL = "https://api.transip.nl/v6"
|
||||
|
|
@ -9,13 +10,39 @@ DEFAULT_API_URL = "https://api.transip.nl/v6"
|
|||
|
||||
@click.command()
|
||||
@click.argument("domains", envvar="DOMAINS", nargs=-1)
|
||||
@click.argument("token", envvar="TOKEN")
|
||||
@click.option("--token", envvar="TOKEN")
|
||||
@click.option("--login", envvar="LOGIN")
|
||||
@click.option("--private-key-path", envvar="PRIVATE_KEY_PATH")
|
||||
@click.option("--dns", envvar="DNS", default=DEFAULT_DNS)
|
||||
@click.option("--dns-name", envvar="DNS_NAME", default=DEFAULT_DNS_NAME)
|
||||
@click.option("--api-url", envvar="API_URL", default=DEFAULT_API_URL)
|
||||
@click.option("--read-only/--write", envvar="READ_ONLY", default=False)
|
||||
def run(domains, token, dns, dns_name, api_url, read_only):
|
||||
def run(domains, token, login, private_key_path, dns, dns_name, api_url, read_only):
|
||||
if not domains:
|
||||
raise ValueError("No domain(s) specified")
|
||||
|
||||
detect(domains, (dns, dns_name), api_url, token, read_only)
|
||||
token_retrieval = any(
|
||||
(
|
||||
login,
|
||||
private_key_path,
|
||||
)
|
||||
)
|
||||
|
||||
if token_retrieval and not all((login, private_key_path)):
|
||||
raise ValueError(
|
||||
"Both a login name and the path to a private key need to be specified"
|
||||
)
|
||||
elif not token_retrieval and not token:
|
||||
raise ValueError(
|
||||
"Either a token or a login name with a path to a private key need"
|
||||
" to be specified"
|
||||
)
|
||||
|
||||
detect(
|
||||
domains,
|
||||
(dns, dns_name),
|
||||
(private_key_path, login),
|
||||
token,
|
||||
api_url,
|
||||
read_only,
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue