Sha256: c3385e4e8a030471005992bef0e36fb6c7529938c782abccc681b06e239b7221

Contents?: true

Size: 726 Bytes

Versions: 55

Compression:

Stored size: 726 Bytes

Contents

require 'sfn'

module Sfn
  module Utils

    # Helper methods for SSH interactions
    module Ssher

      # Retrieve file from remote node
      #
      # @param address [String]
      # @param user [String]
      # @param path [String] remote file path
      # @param ssh_opts [Hash]
      # @return [String, NilClass]
      def remote_file_contents(address, user, path, ssh_opts={})
        if(path.to_s.strip.empty?)
          raise ArgumentError.new 'No file path provided!'
        end
        require 'net/ssh'
        content = ''
        ssh_session = Net::SSH.start(address, user, ssh_opts)
        content = ssh_session.exec!("sudo cat #{path}")
        content.empty? ? nil : content
      end

    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
sfn-3.0.28 lib/sfn/utils/ssher.rb
sfn-3.0.26 lib/sfn/utils/ssher.rb
sfn-3.0.24 lib/sfn/utils/ssher.rb
sfn-3.0.22 lib/sfn/utils/ssher.rb
sfn-3.0.20 lib/sfn/utils/ssher.rb
sfn-3.0.18 lib/sfn/utils/ssher.rb
sfn-3.0.16 lib/sfn/utils/ssher.rb
sfn-3.0.14 lib/sfn/utils/ssher.rb
sfn-3.0.12 lib/sfn/utils/ssher.rb
sfn-3.0.10 lib/sfn/utils/ssher.rb
sfn-3.0.8 lib/sfn/utils/ssher.rb
sfn-3.0.6 lib/sfn/utils/ssher.rb
sfn-3.0.4 lib/sfn/utils/ssher.rb
sfn-3.0.2 lib/sfn/utils/ssher.rb
sfn-3.0.0 lib/sfn/utils/ssher.rb
sfn-2.2.0 lib/sfn/utils/ssher.rb
sfn-2.1.12 lib/sfn/utils/ssher.rb
sfn-2.1.10 lib/sfn/utils/ssher.rb
sfn-2.1.8 lib/sfn/utils/ssher.rb
sfn-2.1.6 lib/sfn/utils/ssher.rb