Class: Snmpjr

Inherits:
Object
  • Object
show all
Defined in:
lib/snmpjr.rb,
lib/snmpjr/getter.rb,
lib/snmpjr/pdu_v3.rb,
lib/snmpjr/walker.rb,
lib/snmpjr/pdu_v2c.rb,
lib/snmpjr/version.rb,
lib/snmpjr/response.rb,
lib/snmpjr/target_v3.rb,
lib/snmpjr/session_v3.rb,
lib/snmpjr/target_v2c.rb,
lib/snmpjr/session_v2c.rb,
lib/snmpjr/wrappers/mp.rb,
lib/snmpjr/wrappers/smi.rb,
lib/snmpjr/configuration.rb,
lib/snmpjr/wrappers/util.rb,
lib/snmpjr/wrappers/snmp4j.rb,
lib/snmpjr/configuration_v3.rb,
lib/snmpjr/configuration_v2c.rb,
lib/snmpjr/wrappers/security.rb,
lib/snmpjr/wrappers/transport.rb

Defined Under Namespace

Modules: Version, Wrappers Classes: Configuration, ConfigurationV2C, ConfigurationV3, Getter, PduV2C, PduV3, Response, SessionV2C, SessionV3, TargetTimeoutError, TargetV2C, TargetV3, Walker

Constant Summary collapse

CONFIGURATION_VERSION =
{
  Snmpjr::Version::V2C => Snmpjr::ConfigurationV2C,
  Snmpjr::Version::V3 => Snmpjr::ConfigurationV3
}

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ Snmpjr

Returns a new instance of Snmpjr.



15
16
17
# File 'lib/snmpjr.rb', line 15

def initialize version
  @version = version
end

Instance Method Details

#configurationObject



19
20
21
# File 'lib/snmpjr.rb', line 19

def configuration
  @configuration ||= CONFIGURATION_VERSION.fetch(@version).new
end

#configure {|configuration| ... } ⇒ Object

Yields:



23
24
25
26
# File 'lib/snmpjr.rb', line 23

def configure
  yield(configuration) if block_given?
  self
end

#get(oids) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/snmpjr.rb', line 28

def get oids
  Snmpjr::Getter.new(
    session: configuration.create_session,
    target: configuration.create_target,
    pdu: configuration.create_pdu,
    config: configuration
  ).get Array(oids)
end

#walk(oid) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/snmpjr.rb', line 37

def walk oid
  Snmpjr::Walker.new(
    session: configuration.create_session,
    target: configuration.create_target,
    pdu: configuration.create_pdu
  ).walk Snmpjr::Wrappers::SMI::OID.new(oid.to_s)
end