Module Rudy::Routines::Handlers::Keypair

  1. lib/rudy/routines/handlers/keypair.rb

Public instance methods

create (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 24
24:     def create(name=nil)
25:       name ||= current_machine_root
26:       keyname = user_keypairname name
27:       kp_file = pkey name
28: 
29:       if registered? name && !@@global.force 
30:         raise PrivateKeyNotFound, kp_file if !File.exists?(kp_file)
31:       end
32: 
33:       if Rudy::AWS::EC2::Keypairs.exists? keyname
34:         if @@global.force
35:           li "Destroying existing keypair: #{keyname}"
36:           Rudy::AWS::EC2::Keypairs.destroy keyname
37:         else
38:           raise Rudy::AWS::EC2::KeypairAlreadyDefined, keyname
39:         end
40:       end
41:       
42:       if File.exists?(kp_file)
43:         if @@global.force
44:           delete_pkey name
45:         else
46:           raise PrivateKeyFileExists, kp_file 
47:         end
48:       end
49:       
50:       li "Creating keypair: #{keyname}"
51:       kp = Rudy::AWS::EC2::Keypairs.create(keyname)
52:       li "Saving #{kp_file}"
53:       Rudy::Utils.write_to_file(kp_file, kp.private_key, 'w', 0600)
54:       
55:       kp
56:     end
delete_pkey (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 65
65:     def delete_pkey(name=nil)
66:       name ||= current_machine_root
67:       kp_file = pkey name
68:       raise PrivateKeyNotFound, kp_file unless pkey?(name)
69:       File.unlink kp_file
70:     end
exists? (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 72
72:     def exists?(name=nil)
73:       name ||= current_machine_root
74:       registered?(name) && pkey?(name)
75:     end
pkey (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 83
83:     def pkey(name=nil)
84:       name ||= current_machine_root
85:       user_keypairpath name
86:     end
pkey? (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 88
88:     def pkey?(name=nil)
89:       name ||= current_machine_root
90:       File.exists? pkey(name)
91:     end
raise_early_exceptions (name=nil)

Rudy::Routines.add_handler :machines, self

[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 10
10:     def raise_early_exceptions(name=nil)
11:       name ||= current_machine_root
12:       keyname = user_keypairname name
13:       kp_file = pkey name
14:       if registered? keyname
15:         # This means no keypair file can be found
16:         raise PrivateKeyNotFound, keyname if kp_file.nil?
17:         # This means we found a keypair in the config but we cannot find the private key file. 
18:         raise PrivateKeyNotFound, kp_file if !File.exists?(kp_file)
19:       else
20:         raise PrivateKeyFileExists, kp_file if File.exists?(kp_file)
21:       end 
22:     end
registered? (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 77
77:     def registered?(name=nil)
78:       name ||= current_machine_root
79:       keyname = user_keypairname name
80:       Rudy::AWS::EC2::Keypairs.exists?(keyname)
81:     end
unregister (name=nil)
[show source]
    # File lib/rudy/routines/handlers/keypair.rb, line 58
58:     def unregister(name=nil)
59:       name ||= current_machine_root
60:       keyname = user_keypairname name
61:       raise "Keypair not registered: #{keyname}" unless registered?(name)
62:       Rudy::AWS::EC2::Keypairs.destroy keyname
63:     end