Net::DNS::Abstract - Net::DNS interface to several DNS backends via API
version 3.3
Net::DNS is the de-facto standard and battle tested perl DNS implementation. Unfortunately we don't intercat with DNS via DNS protocols but via 3rd party abstration layers that have all sorts of quirks. We try to provide one unified interface here.
the domain as a punycode string of the underlaying zone (required)
the Net::DNS::Packet object of the underlaying zone including a subtype to convert between formats to Net::DNS
defines the interface plugin to load (required)
Do a zone transfer (actually poll a zone from a 3rd party provider) and return a Net::DNS::Packet objects.
axfr(['ns1.provider.net'])
Update a DNS zone via the respective backend plugin. This function takes a Net::DNS update object and pushes it through to the backend plugin to process it.
Create a new zone in a DNS backend
Delete a zone from a DNS backend
Converts a Net::DNS object into a flat zonefile without comments and empty lines. This is an alternative to calling $nda->string
This function returns a zonefile string
Overloading endpoint for string comparison of two Net::DNS::Abstract objects
This function returns a zonefile string
Convert a Net::DNS object into our normalized format
Returns: our normalized format as HASHREF or undef on error
print log message to STDERR including this module's name
Returns: nothing
Sanitise a zone. This should always be called explicitly if you think the zone could contain duplicate records. this is normally not necessary but converting between formats of zone representations can trigger unwanted results like multiple NS records.
Lenz Gschwendtner <lenz@ideegeo.com>
This software is copyright (c) 2013 by ideegeo Group Limited.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.