Oliver Gorwits > App-Netdisco-2.020002 > App::Netdisco::DB::ResultSet::Device

Download:
App-Netdisco-2.020002.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Source   Latest Release: App-Netdisco-2.028000

ADDITIONAL METHODS ^

with_times

This is a modifier for any search() (including the helpers below) which will add the following additional synthesized columns to the result set:

uptime_age
last_discover_stamp
last_macsuck_stamp
last_arpnip_stamp

search_aliases( {$name or $ip or $prefix}, \%options? )

Tries to find devices in Netdisco which have an identity corresponding to $name, $ip or $prefix.

The search is across all aliases of the device, as well as its "root IP" identity. Note that this search will try not to use DNS, in case the current name for an IP does not correspond to the data within Netdisco.

Passing a zero value to the partial key of the options hashref will prevent partial matching of a host name. Otherwise the default is to perform a partial, case-insensitive search on the host name fields.

search_for_device( $name or $ip or $prefix )

This is a wrapper for search_aliases which:

If not matching devices are found, undef is returned.

search_by_field( \%cond, \%attrs? )

This variant of the standard search() method returns a ResultSet of Device entries. It is written to support web forms which accept fields that match and locate Devices in the database.

The hashref parameter should contain fields from the Device table which will be intelligently used in a search query.

In addition, you can provide the key matchall which, given a True or False value, controls whether fields must all match or whether any can match, to select a row.

Supported keys:

matchall

If a True value, fields must all match to return a given row of the Device table, otherwise any field matching will cause the row to be included in results.

name

Can match the name field as a substring.

location

Can match the location field as a substring.

description

Can match the description field as a substring (usually this field contains a description of the vendor operating system).

model

Will match exactly the model field.

os_ver

Will match exactly the os_ver field, which is the operating sytem software version.

vendor

Will match exactly the vendor (manufacturer).

dns

Can match any of the Device IP address aliases as a substring.

ip

Can be a string IP or a NetAddr::IP object, either way being treated as an IPv4 or IPv6 prefix within which the device must have one IP address alias.

search_fuzzy( $value )

This method accepts a single parameter only and returns a ResultSet of rows from the Device table where one field matches the passed parameter.

The following fields are inspected for a match:

contact
serial
location
name
description
dns
ip (including aliases)

carrying_vlan( \%cond, \%attrs? )

 my $set = $rs->carrying_vlan({ vlan => 123 });

Like search(), this returns a ResultSet of matching rows from the Device table.

The returned devices each are aware of the given Vlan and have at least one Port configured in the Vlan (either tagged, or not).

carrying_vlan_name( \%cond, \%attrs? )

 my $set = $rs->carrying_vlan_name({ name => 'Branch Office' });

Like search(), this returns a ResultSet of matching rows from the Device table.

The returned devices each are aware of the named Vlan and have at least one Port configured in the Vlan (either tagged, or not).

get_models

Returns a sorted list of Device models with the following columns only:

vendor
model
count

Where count is the number of instances of that Vendor's Model in the Netdisco database.

get_releases

Returns a sorted list of Device OS releases with the following columns only:

os
os_ver
count

Where count is the number of devices running that OS release in the Netdisco database.

get_distinct_col( $column )

Returns an asciibetical sorted list of the distinct values in the given column of the Device table. This is useful for web forms when you want to provide a drop-down list of possible options.

with_port_count

This is a modifier for any search() which will add the following additional synthesized column to the result set:

port_count

SPECIAL METHODS ^

delete( \%options? )

Overrides the built-in DBIx::Class delete method to more efficiently handle the removal or archiving of nodes.

with_poestats_as_hashref

This is a modifier for search() which returns a list of hash references with the power_modules hash augmented with the following statistics as keys:

capable_ports

Count of ports which have the ability to supply PoE.

disabled_ports

Count of ports with PoE administratively disabled.

powered_ports

Count of ports which are delivering power.

errored_ports

Count of ports either reporting a fault or in test mode.

pwr_committed

Total power that has been negotiated and therefore committed on ports actively supplying power.

pwr_delivering

Total power as measured on ports actively supplying power.

syntax highlighting: