Class: AvstCloud::ScpTask
Instance Method Summary collapse
- #execute(server) ⇒ Object
-
#initialize(files) ⇒ ScpTask
constructor
A new instance of ScpTask.
- #upload_file(scp, local_path, remote_path) ⇒ Object
Methods included from Logging
included, logger, #logger, logger=, mask_message, show_passwords=
Constructor Details
#initialize(files) ⇒ ScpTask
Returns a new instance of ScpTask.
265 266 267 |
# File 'lib/avst-cloud/task.rb', line 265 def initialize(files) @files = files end |
Instance Method Details
#execute(server) ⇒ Object
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
# File 'lib/avst-cloud/task.rb', line 269 def execute(server) unless server.ip_address logger.error 'Can not find host'.red raise 'Can not find ip address, access_user or access_password' end unless server.access_user logger.error 'Access user not found. Please provide username for this server.'.red raise 'Access user not found. Please provide username for this server.' end unless server.access_password logger.error 'Password not found. Please provide password or pem key for this server.'.red raise 'Password not found. Please provide root_password in config. for this server.' end logger.debug "Using #{server.access_user}@#{server.ip_address} with #{Logging.mask_message(server.access_password)}" Net::SCP.start( server.ip_address, server.access_user, :password => server.access_password, :keys => [server.access_password] ) do |scp| @files.each do |local_file, remote_path| upload_file(scp, local_file, remote_path) end end end |
#upload_file(scp, local_path, remote_path) ⇒ Object
293 294 295 296 |
# File 'lib/avst-cloud/task.rb', line 293 def upload_file(scp, local_path, remote_path) logger.debug("Uploading file on server: #{local_path} to #{remote_path}") scp.upload!( local_path, remote_path) end |