scripts/dns-edit
2025-03-25 10:11:17 +01:00

32 lines
764 B
Python
Executable file

#!/usr/bin/env python3
# ruff: noqa: T201,TRY003
"""Changes DNS entries at Cloudflare."""
from cloudflare import Cloudflare
import os
from configparser import ConfigParser
import sys
if len(sys.argv) != 4: # noqa: PLR2004
raise ValueError("Usage: dns-edit IPV4 IPV6 NAME")
cp = ConfigParser()
cp.read([os.path.expanduser("~/.cloudflare/cloudflare.cfg")])
token = cp.get("Cloudflare", "token")
cf = Cloudflare(api_token=token)
zone = cf.zones.list(name="weblate.cloud").result[0]
print(f"editing zone_id={zone.id} zone_name={zone.name}")
cf.dns.records.create(
zone_id=zone.id,
name=sys.argv[3],
type="A",
content=sys.argv[1],
)
cf.dns.records.create(
zone_id=zone.id,
name=sys.argv[3],
type="AAAA",
content=sys.argv[2],
)