NAME

WebService::OPNsense::Role::Crud - Role for plain-name CRUD methods

VERSION

version 0.002

DESCRIPTION

Provides shared plain-name CRUD methods (search, get, set, add, del, toggle). All methods in this section are called on the consuming object, not on the role directly.

This role is consumed by WebService::OPNsense::IPsec::Pools, WebService::OPNsense::IPsec::Vti, WebService::OPNsense::IPsec::ManualSpd, WebService::OPNsense::OpenVPN::Instances, and WebService::OPNsense::OpenVPN::ClientOverwrites.

PROVIDED METHODS

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

Searches for records.

get

my $record = $ctrl->get( $uuid );

Returns a single record by UUID. Throws if $uuid is not a valid UUID.

set

my $result = $ctrl->set( $uuid, $record_data );

Updates a record by UUID. Throws if $uuid is not a valid UUID.

add

my $result = $ctrl->add( $record_data );

Creates record.

del

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

Deletes a record by UUID. Throws if $uuid is not a valid UUID.

toggle

my $result = $ctrl->toggle( $uuid, $enabled );

Enables or disables a record. Throws if $uuid is not a valid UUID.

client

my $http_client = $ctrl->client;

Returns the underlying HTTP client object used for API requests.

SEE ALSO

WebService::OPNsense::IPsec::Pools, WebService::OPNsense::IPsec::Vti, WebService::OPNsense::IPsec::ManualSpd, WebService::OPNsense::OpenVPN::Instances, WebService::OPNsense::OpenVPN::ClientOverwrites

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