NAME

WebService::OPNsense::Role::KeaItemCrud - Shared CRUD methods for Kea DHCP item types

VERSION

version 0.002

DESCRIPTION

Provides shared CRUD methods for Kea DHCP item types (option, peer, reservation, subnet). Consuming classes may also use the _kea_*_item helpers to define additional item types (e.g. pd_pool in DHCPv6).

This role is consumed by WebService::OPNsense::Kea::Dhcpv4 and WebService::OPNsense::Kea::Dhcpv6.

PROVIDED METHODS

add_option / add_peer / add_reservation / add_subnet

my $result = $ctrl->add_option($option_data);

del_option / del_peer / del_reservation / del_subnet

my $result = $ctrl->del_option($uuid);

get_option / get_peer / get_reservation / get_subnet

my $result = $ctrl->get_option($uuid);

search_option / search_peer / search_reservation / search_subnet

my $results = $ctrl->search_option(%params);

set_option / set_peer / set_reservation / set_subnet

my $result = $ctrl->set_option($uuid, $option_data);

HELPERS

These methods are available to consuming classes for defining additional item types:

_kea_add_item

$self->_kea_add_item('pd_pool', $data);

_kea_del_item

$self->_kea_del_item('pd_pool', $uuid);

_kea_get_item

$self->_kea_get_item('pd_pool', $uuid);

_kea_search_item

$self->_kea_search_item('pd_pool', %params);

_kea_set_item

$self->_kea_set_item('pd_pool', $uuid, $data);

client

my $http_client = $ctrl->client;

Returns the underlying HTTP client object used for API requests.

SEE ALSO

WebService::OPNsense::Kea::Dhcpv4, WebService::OPNsense::Kea::Dhcpv6

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