--- argument_specs: main: short_description: The main entry point for the bind9 role. description: - Configures BIND9 DNS server on Debian-based systems. - "Supported BIND9 versions: 9.18.x (LTS), 9.20+ (feature releases)" - Version detection is automatic at runtime. options: bind9_config: type: list elements: dict description: - A list of configuration dictionaries that are merged to produce the final configuration. - Each element must have a 'name' key (filename). bind9_default_config: type: list elements: dict description: Default configuration. bind9_group_config: type: list elements: dict description: Group-level configuration. bind9_site_config: type: list elements: dict description: Site/Leaf-level configuration. bind9_host_config: type: list elements: dict description: Host-level configuration. bind9_backup_config: type: bool default: true description: Whether to backup configuration files before overwriting. bind9_debug_config: type: bool default: false description: Whether to print the merged configuration during execution. bind9_config_indent: type: int default: 4 description: Indentation level for generated configuration files. bind9_packages: type: list elements: str description: List of packages to install. bind9_cfgdir: type: str description: Directory for configuration files. bind9_working_directory: type: str description: Working directory for BIND. bind9_libdir: type: str description: Library directory for BIND. bind9_backup_dir: type: str description: Directory for backups. bind9_version: type: str description: - BIND9 version detected at runtime (read-only, set automatically). - "Format: X.Y.Z (e.g., 9.18.44, 9.20.18)" - Used by templates to apply version-specific configurations. - Users should not set this variable directly.