class Rundock::Operation::SampleOperation

You can use this sample as following scenario.yml for example.

sample_operation:

- cmd: 'ls ~'
  all: true

anyhost-01:

host: 192.168.1.11
ssh_opts:
  port: 22
  user: anyuser
  key:  ~/.ssh/id_rsa

Public Instance Methods

run(backend, attributes) click to toggle source
# File lib/rundock/plugin/operation/sample_operation.rb, line 20
def run(backend, attributes)
  operation = attributes[:sample_operation][0]

  cmd = ''
  args_line = ''
  operation.each do |k, v|
    if k == :cmd
      cmd = v
      next
    end

    if v.is_a?(TrueClass)
      args_line << " --#{k}"
    elsif v.is_a?(String)
      args_line << " --#{k} #{v}"
    end
  end

  logging("do #{cmd}#{args_line}", 'info')
  result = backend.run_command("#{cmd}#{args_line}")
  Logger.info(result.stdout)
end