module Rudy::Routines::Handlers::Keypair
Public Instance Methods
create(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 24 def create(name=nil) name ||= current_machine_root keyname = user_keypairname name kp_file = pkey name if registered? name && !@@global.force raise PrivateKeyNotFound, kp_file if !File.exists?(kp_file) end if Rudy::AWS::EC2::Keypairs.exists? keyname if @@global.force li "Destroying existing keypair: #{keyname}" Rudy::AWS::EC2::Keypairs.destroy keyname else raise Rudy::AWS::EC2::KeypairAlreadyDefined, keyname end end if File.exists?(kp_file) if @@global.force delete_pkey name else raise PrivateKeyFileExists, kp_file end end li "Creating keypair: #{keyname}" kp = Rudy::AWS::EC2::Keypairs.create(keyname) li "Saving #{kp_file}" Rudy::Utils.write_to_file(kp_file, kp.private_key, 'w', 0600) kp end
delete_pkey(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 65 def delete_pkey(name=nil) name ||= current_machine_root kp_file = pkey name raise PrivateKeyNotFound, kp_file unless pkey?(name) File.unlink kp_file end
exists?(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 72 def exists?(name=nil) name ||= current_machine_root registered?(name) && pkey?(name) end
pkey(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 83 def pkey(name=nil) name ||= current_machine_root user_keypairpath name end
pkey?(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 88 def pkey?(name=nil) name ||= current_machine_root File.exists? pkey(name) end
raise_early_exceptions(name=nil)
click to toggle source
Rudy::Routines.add_handler :machines, self
# File lib/rudy/routines/handlers/keypair.rb, line 10 def raise_early_exceptions(name=nil) name ||= current_machine_root keyname = user_keypairname name kp_file = pkey name if registered? keyname # This means no keypair file can be found raise PrivateKeyNotFound, keyname if kp_file.nil? # This means we found a keypair in the config but we cannot find the private key file. raise PrivateKeyNotFound, kp_file if !File.exists?(kp_file) else raise PrivateKeyFileExists, kp_file if File.exists?(kp_file) end end
registered?(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 77 def registered?(name=nil) name ||= current_machine_root keyname = user_keypairname name Rudy::AWS::EC2::Keypairs.exists?(keyname) end
unregister(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/keypair.rb, line 58 def unregister(name=nil) name ||= current_machine_root keyname = user_keypairname name raise "Keypair not registered: #{keyname}" unless registered?(name) Rudy::AWS::EC2::Keypairs.destroy keyname end