File size: 691 Bytes
d467ea7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# https://github.com/cloudflare/cloudflare-python/blob/main/api.md
from fastcore.script import *
from cloudflare import Cloudflare

@call_parse
def add_dns_record(
    record_type: str,  # Type of DNS record (CNAME or A)
    target: str,       # Target IP address or domain name
    record: str,       # Record name (without the zone)
    zone: str,         # Zone name
    proxied: bool_arg=True # Use CF proxy?
):
    cf = Cloudflare()
    zones = cf.zones.list(name=zone)
    if not zones: raise ValueError(f"Zone '{zone}' not found")
    zid = zones.result[0].id
    cf.dns.records.create(zone_id=zid, type=record_type.upper(), name=f"{record}.{zone}", content=target, proxied=proxied)