SecondaryZoneImportModule
final class SecondaryZoneImportModule implements ModuleInterface (View source)
Imports a zone from a live primary server by creating a secondary zone, pulling it over AXFR, and converting it to a primary once the data lands.
This relies on PowerDNS performing the transfer, so it is only available with the API backend; it hides itself entirely in SQL-backend mode.
Methods
Get unique module identifier (e.g., 'csv_export', 'zone_import_export')
Get route definitions for this module.
Get navigation items to add to the Tools dropdown.
Get list of capabilities this module provides, from the CAP_* constants above.
Get data for a specific capability.
Get the absolute path to the module's template directory.
Details
__construct(ConfigurationInterface $config)
No description
string
getName()
Get unique module identifier (e.g., 'csv_export', 'zone_import_export')
array
getRoutes()
Get route definitions for this module.
Each route is an associative array with keys:
- 'name' (string): Route name (e.g., 'module_csv_export')
- 'path' (string): URL path (e.g., '/zones/{id}/export/csv')
- 'controller' (string): Fully qualified controller class::method
- 'methods' (array): HTTP methods (e.g., ['GET'])
- 'requirements' (array, optional): Parameter regex constraints
array
getNavItems()
Get navigation items to add to the Tools dropdown.
Each item is an associative array with keys:
- 'label' (string): Display text
- 'url' (string): URL path
- 'icon' (string): Bootstrap Icons class name (without 'bi-' prefix)
- 'page_id' (string): Page identifier for active state detection
- 'permission' (string, optional): Required permission to show this item
array
getCapabilities()
Get list of capabilities this module provides, from the CAP_* constants above.
array
getCapabilityData(string $capability)
Get data for a specific capability.
For CAP_ZONE_EXPORT, returns an array of export format definitions:
- 'label' (string): Display text (e.g., 'CSV', 'Zone File')
- 'url_pattern' (string): URL with {id} placeholder (e.g., '/zones/{id}/export/csv')
- 'icon' (string): Bootstrap Icons class name (without 'bi-' prefix)
- 'supports_comments' (string, optional): '1' when the URL accepts ?comments=1 to include record comments
string
getTemplatePath()
Get the absolute path to the module's template directory.
Return an empty string if the module has no templates.