Sha256: a3a16c30d419b4edb2b5a00d54fcb8df4a406ff99b96165f6de22cd99f372140

Contents?: true

Size: 1.04 KB

Versions: 120

Compression:

Stored size: 1.04 KB

Contents

require 'puppet/util/network_device'
require 'puppet/util/network_device/transport'
require 'puppet/util/network_device/transport/base'
require 'net/telnet'

class Puppet::Util::NetworkDevice::Transport::Telnet < Puppet::Util::NetworkDevice::Transport::Base
    def initialize(verbose = false)
      super()
      @verbose = verbose
    end

    def handles_login?
      false
    end

    def connect
      @telnet = Net::Telnet::new("Host" => host, "Port" => port || 23,
                                 "Timeout" => 10,
                                 "Prompt" => default_prompt)
    end

    def close
      @telnet.close if @telnet
      @telnet = nil
    end

    def expect(prompt)
      @telnet.waitfor(prompt) do |out|
        yield out if block_given?
      end
    end

    def command(cmd, options = {})
      send(cmd)
      expect(options[:prompt] || default_prompt) do |output|
        yield output if block_given?
      end
    end

    def send(line)
      Puppet.debug("telnet: send #{line}") if @verbose
      @telnet.puts(line)
    end
end

Version data entries

120 entries across 120 versions & 2 rubygems

Version Path
puppet-retrospec-0.12.2 vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.7 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.7-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.7-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.6 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.6-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-retrospec-0.12.1 vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.6-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-retrospec-0.12.0 vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.2 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.2-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.2-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.5 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.5-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-3.8.5-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.1 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.1-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.1-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.0 lib/puppet/util/network_device/transport/telnet.rb
puppet-4.3.0-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb