NAME
WebService::OPNsense::Dnsmasq::Settings - Dnsmasq settings controller
VERSION
version 0.001
SYNOPSIS
my $settings = $opn->dnsmasq_settings;
# Get current settings
my $config = $settings->get;
# Update settings
$settings->set({ dnsmasq => { enabled => 1 } });
# Search hosts
my $hosts = $settings->search_host(current => 1, rowCount => 50);
# Add a host override
$settings->add_host({
host => {
host => 'myserver',
domain => 'example.com',
ip => '192.0.2.10',
},
});
DESCRIPTION
Dnsmasq settings, including host overrides, domain overrides, DHCP options, ranges, tags, and boot settings.
NAME
WebService::OPNsense::Dnsmasq::Settings - Dnsmasq settings controller
METHODS
get
my $config = $settings->get;
Returns the current Dnsmasq configuration.
set_settings
my $result = $settings->set_settings($settings_data);
Updates Dnsmasq configuration.
search_host
my $results = $settings->search_host(%params);
Searches for host overrides.
get_host
my $host = $settings->get_host($uuid);
Returns a single host override by UUID.
add_host
my $result = $settings->add_host($host_data);
Creates a new host override.
set_host
my $result = $settings->set_host($uuid, $host_data);
Updates an existing host override.
del_host
my $result = $settings->del_host($uuid);
Deletes a host override by UUID.
search_domain
my $results = $settings->search_domain(%params);
Searches for domain overrides.
get_domain
my $domain = $settings->get_domain($uuid);
Returns a single domain override by UUID.
add_domain
my $result = $settings->add_domain($domain_data);
Creates a new domain override.
set_domain
my $result = $settings->set_domain($uuid, $domain_data);
Updates an existing domain override.
del_domain
my $result = $settings->del_domain($uuid);
Deletes a domain override by UUID.
search_option
my $results = $settings->search_option(%params);
Searches for DHCP options.
get_option
my $option = $settings->get_option($uuid);
Returns a single DHCP option by UUID.
add_option
my $result = $settings->add_option($option_data);
Creates a new DHCP option.
set_option
my $result = $settings->set_option($uuid, $option_data);
Updates an existing DHCP option.
del_option
my $result = $settings->del_option($uuid);
Deletes a DHCP option by UUID.
search_range
my $results = $settings->search_range(%params);
Searches for DHCP ranges.
get_range
my $range = $settings->get_range($uuid);
Returns a single DHCP range by UUID.
add_range
my $result = $settings->add_range($range_data);
Creates a new DHCP range.
set_range
my $result = $settings->set_range($uuid, $range_data);
Updates an existing DHCP range.
del_range
my $result = $settings->del_range($uuid);
Deletes a DHCP range by UUID.
search_tag
my $results = $settings->search_tag(%params);
Searches for tags.
get_tag
my $tag = $settings->get_tag($uuid);
Returns a single tag by UUID.
add_tag
my $result = $settings->add_tag($tag_data);
Creates a new tag.
set_tag
my $result = $settings->set_tag($uuid, $tag_data);
Updates an existing tag.
del_tag
my $result = $settings->del_tag($uuid);
Deletes a tag by UUID.
search_boot
my $results = $settings->search_boot(%params);
Searches for boot settings.
get_boot
my $boot = $settings->get_boot($uuid);
Returns a single boot setting by UUID.
add_boot
my $result = $settings->add_boot($boot_data);
Creates a new boot setting.
set_boot
my $result = $settings->set_boot($uuid, $boot_data);
Updates an existing boot setting.
del_boot
my $result = $settings->del_boot($uuid);
Deletes a boot setting by UUID.
download_hosts
my $data = $settings->download_hosts;
Downloads host overrides as a data structure.
upload_hosts
my $result = $settings->upload_hosts($hosts_data);
Uploads host overrides from a data structure.
AUTHOR
Dean Hamstead <dean@fragfest.com.au>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2026 by Dean Hamstead.
This is free software, licensed under:
The MIT (X11) License