App::Netdisco::Util::Port
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.
:all
Permission check on portctl_by_role if the device and user are provided. A bare username will be promoted to a user instance.
portctl_by_role
Will return false if these checks fail, otherwise true.
Permission check that portctl_no and portctl_only pass for the device.
portctl_no
portctl_only
Checks if admin up/down or PoE status on a port can be changed.
Returns false if the request should be denied, true if OK to proceed.
First checks portctl_nameonly, portctl_uplinks, portctl_nowaps, and portctl_nophones.
portctl_nameonly
portctl_uplinks
portctl_nowaps
portctl_nophones
Then checks according to port_acl_check and port_acl_by_role_check above.
port_acl_check
port_acl_by_role_check
Checks if native vlan (pvid) on a port can be changed.
First checks portctl_native_vlan;
portctl_native_vlan
Then checks according to port_acl_service.
port_acl_service
Checks if name (description) on a port can be changed.
Only setting portctl_by_role is checked.
Given a device IP address and a port name, returns a DBIx::Class::Row object for the Port on the Device in the Netdisco database.
The device IP can also be passed as a Device DBIx::Class object.
DBIx::Class
Returns undef if the device or port are not known to Netdisco.
undef
Returns ($device_instance, $port_instance) in list context, otherwise just $port_instance.
($device_instance, $port_instance)
$port_instance
Given an SNMP::Info instance for a device, and the name of a port, returns the current interface table index for that port. This can be used in further SNMP requests on attributes of the port.
Returns undef if there is no such port name on the device.
Given an SNMP::Info instance for a device, and the name of a port, returns the current PoE table index for the port. This can be used in further SNMP requests on PoE attributes of the port.
Returns true if the $port DBIx::Class object represents a vlan subinterface or is the logical parent of such a port.
$port
This uses simple checks on the port type and descr, and therefore might sometimes returns a false-negative result.
Returns true if the $port DBIx::Class object has a phone connected.
Returns true if the $port DBIx::Class object has a wireless AP connected.
To install App::Netdisco, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Netdisco
CPAN shell
perl -MCPAN -e shell install App::Netdisco
For more information on module installation, please visit the detailed CPAN module installation guide.