diff options
author | Christopher Burger <burgerc@freeside.biz> | 2018-04-10 09:18:29 -0400 |
---|---|---|
committer | Christopher Burger <burgerc@freeside.biz> | 2018-04-10 09:47:55 -0400 |
commit | 2515baaa240489243b821d62e1aa5178b472cc65 (patch) | |
tree | f5d3dd7c0f6405f91646f789a5dcc05515db874b /FS/FS/part_export | |
parent | e95fa38dfa01fde9157a6a9852173bb6cddacd24 (diff) |
RT#39115 - added a optional display name for oid
Diffstat (limited to 'FS/FS/part_export')
-rw-r--r-- | FS/FS/part_export/broadband_snmp_get.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/FS/FS/part_export/broadband_snmp_get.pm b/FS/FS/part_export/broadband_snmp_get.pm index 1a86612..35dcd31 100644 --- a/FS/FS/part_export/broadband_snmp_get.pm +++ b/FS/FS/part_export/broadband_snmp_get.pm @@ -21,6 +21,7 @@ tie my %options, 'Tie::IxHash', 'snmp_community' => { 'label'=>'Community', 'default'=>'public' }, 'snmp_timeout' => { label=>'Timeout (seconds)', 'default'=>1 }, 'snmp_oid' => { label=>'Object ID', multiple=>1 }, + 'snmp_oid_name' => { label=>'Object Name', multiple=>1 }, ; %info = ( @@ -80,6 +81,7 @@ sub snmp_results { my $vers = $self->option('snmp_version'); my $time = ($self->option('snmp_timeout') || 1) * 1000000; my @oids = split("\n", $self->option('snmp_oid')); + my @oidnames = split("\n", $self->option('snmp_oid_name')); my %connect = ( 'DestHost' => $host, 'Community' => $comm, @@ -90,7 +92,9 @@ sub snmp_results { return { 'error' => 'Error creating SNMP session' } unless $snmp; return { 'error' => $snmp->{'ErrorStr'} } if $snmp->{'ErrorStr'}; my @out; - foreach my $oid (@oids) { + for (my $i=0; $i <= $#oids; $i++) { + my $oid = $oids[$i]; + my $oidname = $oidnames[$i]; $oid = $SNMP::MIB{$oid}->{'objectID'} if $SNMP::MIB{$oid}; my @values; if ($vers eq '1') { @@ -115,6 +119,7 @@ sub snmp_results { next; } my %result = map { $_ => $SNMP::MIB{$oid}{$_} } qw( objectID label ); + $result{'name'} = $oidname; # unbless @values, for ease of JSON encoding $result{'values'} = []; foreach my $value (@values) { |