Class: Nucleon::Action::Cloud::Machines

Inherits:
Object
  • Object
show all
Defined in:
lib/nucleon/action/cloud/machines.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.describeObject


Info



10
11
12
# File 'lib/nucleon/action/cloud/machines.rb', line 10

def self.describe
  super(:cloud, :machines, 860)
end

Instance Method Details

#argumentsObject



30
31
32
# File 'lib/nucleon/action/cloud/machines.rb', line 30

def arguments
  [ :node_provider ]
end

#configureObject


Settings



17
18
19
20
21
22
# File 'lib/nucleon/action/cloud/machines.rb', line 17

def configure
  super do
    codes :node_load_failure,
          :machine_load_failure
  end
end

#executeObject


Operations



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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|
            info(node.render_machine_type(machine_type), { :prefix => false, :i18n => 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

#ignoreObject




26
27
28
# File 'lib/nucleon/action/cloud/machines.rb', line 26

def ignore
  node_ignore - [ :node_provider ]
end