Class: Nucleon::Action::Node::Agent::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/nucleon/action/node/agent/status.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.describeObject


Info



11
12
13
# File 'lib/nucleon/action/node/agent/status.rb', line 11

def self.describe
  super([ :node, :agent ], :status, 650)
end

Instance Method Details

#argumentsObject




27
28
29
# File 'lib/nucleon/action/node/agent/status.rb', line 27

def arguments
  [ :provider ]
end

#configureObject


Settings



18
19
20
21
22
23
# File 'lib/nucleon/action/node/agent/status.rb', line 18

def configure
  super do
    register_array :provider, nil
    register_translator :format, :json
  end
end

#executeObject


Operations



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/nucleon/action/node/agent/status.rb', line 34

def execute
  super do |node|
    ensure_node(node) do
      translator     = CORL.translator({}, settings[:format])

      agent_provider = "agent_#{settings[:provider].join('_')}"
      agent_record   = node.agent(agent_provider)

      agent_record[:running] = node.agent_running(agent_provider) unless agent_record.empty?

      myself.result = agent_record
      $stderr.puts translator.generate(result) unless result.empty?
    end
  end
end