RecordLookupInterface
interface RecordLookupInterface (View source)
Single-record reads and existence checks within a zone.
Methods
Get a record by ID
Get a Record from a Record ID
Get record details from Record ID
Get Zone ID from Record ID
Record ID to Domain ID
Check if a record with the given parameters already exists
Get the records at one name in a zone, optionally filtered by type.
Get the enabled records in a zone at a name or anywhere below it, matched case-insensitively. Empty non-terminals are excluded.
Check if any PTR record exists for a given reverse domain name
Check if record has similar records with same name and type
Check if non-delegation records exist for a given name
Details
array|null
getRecordById(int|string $recordId)
Get a record by ID
array|null
getRecordFromId(int|string $id)
Get a Record from a Record ID
Retrieve all fields of the record and send it back to the function caller.
array
getRecordDetailsFromRecordId(int|string $rid)
Get record details from Record ID
int
getZoneIdFromRecordId(int|string $rid)
Get Zone ID from Record ID
int
recidToDomid(int|string $id)
Record ID to Domain ID
Gets the id of the domain by a given record id
bool
recordExists(int $domain_id, string $name, string $type, string $content)
Check if a record with the given parameters already exists
array
getRecordsByName(int $domainId, string $name, string|null $type = null)
Get the records at one name in a zone, optionally filtered by type.
Prefer this over getRecordsByDomainId() whenever only one name matters: in API backend mode the zone-wide call fetches every record in the zone. Names match case-insensitively, per RFC 4343.
array
getRecordsAtOrUnder(int $domainId, string $name)
Get the enabled records in a zone at a name or anywhere below it, matched case-insensitively. Empty non-terminals are excluded.
bool
hasPtrRecord(int $domain_id, string $name)
Check if any PTR record exists for a given reverse domain name
bool
hasSimilarRecords(int $domain_id, string $name, string $type, int|string $record_id)
Check if record has similar records with same name and type
bool
hasNonDelegationRecords(string $name)
Check if non-delegation records exist for a given name
Per RFC 1034: Delegation NS records are NOT authoritative data. Per RFC 4034: DS records are part of the delegation for DNSSEC. This method checks for records other than NS/DS which indicate authoritative data. Only delegation records (NS, DS) at a name should not prevent zone creation.