App-Netsync

 view release on metacpan or  search on metacpan

lib/App/Netsync/SNMP.pm  view on Meta::CPAN

package App::Netsync::SNMP;

=head1 NAME

App::Netsync::SNMP - SNMP framework

=head1 DESCRIPTION

This package contains functions for handling SNMP communications.

=head1 SYNOPSIS

 use App::Netsync::SNMP;

 App::Netsync::SNMP::configure({
     'SecName'   => 'your username here',
     'SecLevel'  => 'AuthPriv',
     'AuthProto' => 'SHA',
     'AuthPass'  => 'your password here',
     'PrivProto' => 'AES',
     'PrivPass'  => 'your key here',
 },[
     'IF-MIB','ENTITY-MIB',  # standard
     'CISCO-STACK-MIB',      # Cisco
     'FOUNDRY-SN-AGENT-MIB', # Brocade
     'SEMI-MIB',             # HP
 ]);

 my $ip      = '93.184.216.119';
 my $session = App::Netsync::SNMP::Session $ip;

 my $info1   = App::Netsync::SNMP::Info $ip;
 my $info2   = App::Netsync::SNMP::Info $session;

 my ($ifNames,$ifIIDs) = App::Netsync::SNMP::get1 ([
     ['.1.3.6.1.2.1.31.1.1.1.1' => 'ifName'],
     ['.1.3.6.1.2.1.2.2.1.2'    => 'ifDescr'],
 ],$session);

 App::Netsync::SNMP::set ('ifAlias',$_,'Vote for Pedro',$session) foreach @$ifIIDs;

=cut


use 5.006;
use strict;
use warnings FATAL => 'all';
use autodie; #XXX Is autodie adequate?

use File::Basename;
use Scalar::Util 'blessed';
use SNMP;
use SNMP::Info;
use version;

our ($SCRIPT,$VERSION);
our %config;

BEGIN {
    ($SCRIPT)  = fileparse ($0,"\.[^.]*");
    ($VERSION) = version->declare('v4.0.0');
}

INIT {
    $config{'AuthPass'}        = undef;



( run in 2.285 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )