class Nucleon::Action::Node::Revoke
Public Class Methods
describe()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/revoke.rb 10 def self.describe 11 super(:node, :revoke, 550) 12 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/revoke.rb 27 def arguments 28 [ :public_key ] 29 end
configure()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/revoke.rb 17 def configure 18 super do 19 codes :key_remove_failure 20 21 register :public_key, :str, nil 22 end 23 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/revoke.rb 34 def execute 35 super do |node| 36 info('corl.actions.revoke.start') 37 38 ensure_node(node) do 39 ssh_path = Util::SSH.key_path 40 authorized_keys = File.join(ssh_path, 'authorized_keys') 41 public_key = settings[:public_key].strip 42 output_keys = [] 43 44 if File.exists?(authorized_keys) 45 Util::Disk.read(authorized_keys).split("\n").each do |line| 46 if line.strip.include?(public_key) 47 key_found = true 48 else 49 output_keys << line 50 end 51 end 52 end 53 unless key_found 54 unless Util::Disk.write(authorized_keys, output_keys.join("\n")) 55 myself.status = code.key_revoke_failure 56 end 57 end 58 end 59 end 60 end