class Nucleon::Action::Cloud::Machines

Public Class Methods

describe() click to toggle source
# File lib/nucleon/action/cloud/machines.rb, line 10
def self.describe
  super(:cloud, :machines, 860)
end

Public Instance Methods

arguments() click to toggle source
# File lib/nucleon/action/cloud/machines.rb, line 30
def arguments
  [ :node_provider ]
end
configure() click to toggle source
# File lib/nucleon/action/cloud/machines.rb, line 17
def configure
  super do
    codes :node_load_failure,
          :machine_load_failure
  end
end
execute() click to toggle source
# File lib/nucleon/action/cloud/machines.rb, line 37
def execute
  super do |local_node, network|
    info('corl.actions.machines.start')
    
    ensure_network(network) do
      if node = network.test_node(settings[:node_provider])
        if machine_types = node.machine_types
          machine_types.each do |machine_type|
            render(node.render_machine_type(machine_type), { :prefix => false })
          end
        
          myself.result = machine_types
          success('corl.actions.machines.results', { :machines => machine_types.length }) if machine_types.length > 1
        else
          myself.status = code.machine_load_failure
        end
      else
        myself.status = code.node_load_failure
      end
    end
  end
end
ignore() click to toggle source
# File lib/nucleon/action/cloud/machines.rb, line 26
def ignore
  node_ignore - [ :node_provider ]
end