Sha256: 3e07fa94da67b9d955965e81ceed6eb9285c04deb94a134a512ba33abc738be2
Contents?: true
Size: 957 Bytes
Versions: 2
Compression:
Stored size: 957 Bytes
Contents
module Oxidized require 'stringio' require_relative 'cli' begin require 'net/tftp' rescue LoadError raise OxidizedError, 'net/tftp not found: sudo gem install net-tftp' end class TFTP < Input include Input::CLI # TFTP utilizes UDP, there is not a connection. We simply specify an IP and send/receive data. def connect(node) @node = node @node.model.cfg['tftp'].each { |cb| instance_exec(&cb) } @log = File.open(Oxidized::Config::LOG + "/#{@node.ip}-tftp", 'w') if Oxidized.config.input.debug? @tftp = Net::TFTP.new @node.ip end def cmd(file) Oxidized.logger.debug "TFTP: #{file} @ #{@node.name}" config = StringIO.new @tftp.getbinary file, config config.rewind config.read end private def disconnect # TFTP uses UDP, there is no connection to close true ensure @log.close if Oxidized.config.input.debug? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
oxidized-0.30.1 | lib/oxidized/input/tftp.rb |
oxidized-0.30.0 | lib/oxidized/input/tftp.rb |