Files
nix-stuff/scripts/dns/script.py
Shelvacu 4b2a048ed7 wip
2024-10-26 18:38:25 -07:00

36 lines
917 B
Python

# flake8: noqa
import os
import subprocess
import json
from pprint import pp
import httpx
# todo: dnspython to read builtins.toString vacuconfig.x86_64-linux.vacu.dns."jean-luc.org"
SOPS_BIN = '@sops@'
DNS_SECRETS_FILE = '@dns_secrets_file@'
data_str = '@data@'
DATA = json.loads(data_str)
secrets_json = subprocess.check_output([SOPS_BIN, "-d", DNS_SECRETS_FILE])
secrets = json.loads(secrets_json)
AUTH_ID = secrets["auth_id"]
AUTH_PASSWORD = secrets["auth_password"]
BASE_URL = "https://api.cloudns.net"
def req(path, **kwargs):
auth_params = {
"auth-id": AUTH_ID,
"auth-password": AUTH_PASSWORD,
}
params = { k.replace("_","-"): v for k, v in kwargs.items() }
return httpx.get(BASE_URL + path, params={**auth_params, **params}).json()
res = req("/dns/records.json", domain_name = "jean-luc.org", rows_per_page = 100)
#records = [x for x in res.values()]
pp(res.get("status"))