Class: AvstCloud::ScpTask
- Inherits:
-
Task
- Object
- Task
- AvstCloud::ScpTask
show all
- Defined in:
- lib/avst-cloud/task.rb
Instance Method Summary
collapse
Methods included from Logging
included, logger, #logger, logger=, mask_message, show_passwords=
Constructor Details
#initialize(files) ⇒ ScpTask
263
264
265
|
# File 'lib/avst-cloud/task.rb', line 263
def initialize(files)
@files = files
end
|
Instance Method Details
#execute(server) ⇒ Object
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
# File 'lib/avst-cloud/task.rb', line 267
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
291
292
293
294
|
# File 'lib/avst-cloud/task.rb', line 291
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
|