class Nucleon::Action::Node::Destroy

Public Class Methods

describe() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/destroy.rb
10 def self.describe
11   super(:node, :destroy, 580)
12 end

Public Instance Methods

arguments() click to toggle source
   # File lib/nucleon/action/node/destroy.rb
31 def arguments
32   [ :destroy_nodes ]
33 end
configure() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/destroy.rb
17 def configure
18   super do
19     register_bool :force, false
20 
21     register_nodes :destroy_nodes
22   end
23 end
execute() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/destroy.rb
38 def execute
39   super do |local_node|
40     ensure_network do
41       if settings[:force]
42         answer = 'YES'
43       else
44         message = render_message('prompt', { :operation => :ask }) + "\n\n"
45 
46         array(settings[:destroy_nodes]).each do |hostname|
47           message << "  #{hostname}\n"
48         end
49 
50         message << "\n" + render_message('yes_query', { :operation => :ask, :yes => 'YES' }) + ' '
51         answer = ask(message)
52       end
53 
54       if answer.upcase == 'YES'
55         batch_success = network.batch(settings[:destroy_nodes], settings[:node_provider], settings[:parallel], false) do |node|
56           info('start', { :provider => node.plugin_provider, :name => node.plugin_name })
57           node.destroy
58         end
59         myself.status = code.batch_error unless batch_success
60       end
61     end
62   end
63 end
ignore() click to toggle source
   # File lib/nucleon/action/node/destroy.rb
27 def ignore
28   [ :nodes ]
29 end