provisioning-catalog/providers/prov_lib/registrar_interface.nu

36 lines
1.1 KiB
Text
Raw Normal View History

#!/usr/bin/env nu
# Domain Registrar Interface — standard function signatures for registrar provider implementations.
# Distinct from the DNS provider layer: manages domain ownership, nameserver delegation,
# expiration tracking, and lifecycle. DNS record management remains in the DNS provider layer.
# List all domains accessible via this registrar account.
# filter.domains limits results to declared infra domains; empty filter returns all (admin mode).
export def registrar_list_domains [
filter: record # RegistrarFilter — domains: list<string>, expiring_before: string
]: nothing -> list<record> {
[]
}
# Return full domain record including current nameservers.
export def registrar_domain_info [
domain: string
]: nothing -> record {
{}
}
# Return nameservers currently delegated for domain.
export def registrar_get_nameservers [
domain: string
]: nothing -> list<string> {
[]
}
# Replace nameserver delegation for domain. Returns true on success.
export def registrar_set_nameservers [
domain: string
ns: list<string>
]: nothing -> bool {
false
}