NAME
App::Netdisco::Util::Device
DESCRIPTION
A set of helper subroutines to support parts of the Netdisco application.
There are no default exports, however the :all
tag will export all subroutines.
EXPORT_OK
get_device( $ip )
Given an IP address, returns a DBIx::Class::Row object for the Device in the Netdisco database. The IP can be for any interface on the device.
If for any reason $ip
is already a DBIx::Class
Device object, then it is simply returned.
If the device or interface IP is not known to Netdisco a new Device object is created for the IP, and returned. This object is in-memory only and not yet stored to the database.
check_no( $ip, $setting_name )
Given the IP address of a device, returns true if the configuration setting $setting_name
matches that device, else returns false.
There are several options for what $setting_name
can contain:
Hostname, IP address, IP prefix
"model:regex"
- matched against the device model"vendor:regex"
- matched against the device vendor
To simply match all devices, use IP Prefix "0.0.0.0/0
". All regular expressions are anchored (that is, they must match the whole string).
is_discoverable( $ip, $device_type? )
Given an IP address, returns true
if Netdisco on this host is permitted by the local configuration to discover the device.
The configuration items discover_no
and discover_only
are checked against the given IP.
If $device_type
is also given, then discover_no_type
will also be checked.
Returns false if the host is not permitted to discover the target device.
is_arpnipable( $ip )
Given an IP address, returns true
if Netdisco on this host is permitted by the local configuration to arpnip the device.
The configuration items arpnip_no
and arpnip_only
are checked against the given IP.
Returns false if the host is not permitted to arpnip the target device.
can_nodenames( $ip )
Given an IP address, returns true
if Netdisco on this host is permitted by the local configuration to resolve Node IPs to DNS names for the device.
The configuration items nodenames_no
and nodenames_only
are checked against the given IP.
Returns false if the host is not permitted to do this job for the target device.
is_macsuckable( $ip )
Given an IP address, returns true
if Netdisco on this host is permitted by the local configuration to macsuck the device.
The configuration items macsuck_no
and macsuck_only
are checked against the given IP.
Returns false if the host is not permitted to macsuck the target device.