Sha256: 63fc91661ccd68c4f7becdca440cc809660737759d6e311d6dac9e1ff2ac4b4e

Contents?: true

Size: 1.13 KB

Versions: 293

Compression:

Stored size: 1.13 KB

Contents

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

if Puppet.features.telnet?
  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
end

Version data entries

293 entries across 293 versions & 3 rubygems

Version Path
puppet-5.5.22 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.22-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.22-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.22-universal-darwin lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.21 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.21-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.21-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.21-universal-darwin lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.20 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.20-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.20-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.20-universal-darwin lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.19 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.19-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.19-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.19-universal-darwin lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.18 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.18-x86-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.18-x64-mingw32 lib/puppet/util/network_device/transport/telnet.rb
puppet-5.5.18-universal-darwin lib/puppet/util/network_device/transport/telnet.rb