Module Rudy::AWS::EC2::Keypairs

  1. lib/rudy/aws/ec2/keypair.rb

Included modules

  1. Rudy::AWS::EC2

Public instance methods

any? ()
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 72
72:       def any?
73:         keypairs = list || []
74:         !keypairs.empty?
75:       end
create (name)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 27
27:       def create(name)
28:         raise "No name provided" unless name
29:         ret = @@ec2.create_keypair(:key_name => name)
30:         from_hash(ret)
31:       end
destroy (name)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 33
33:       def destroy(name)
34:         name = name.name if name.is_a?(Rudy::AWS::EC2::Keypair)
35:         raise "No name provided" unless name.is_a?(String)
36:         ret = @@ec2.delete_keypair(:key_name => name)
37:         (ret && ret['return'] == 'true') # BUG? Always returns true
38:       end
exists? (name)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 83
83:       def exists?(name)
84:         return false unless name
85:         kp = get(name) rescue nil
86:         !kp.nil?
87:       end
from_hash (h)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 59
59:       def from_hash(h)
60:         # keyName: test-c5g4v3pe
61:         # keyFingerprint: 65:d0:ce:e7:6a:b0:88:4a:9c:c7:2d:b8:33:0c:fd:3b:c8:0f:0a:3c
62:         # keyMaterial: |-
63:         #   -----BEGIN RSA PRIVATE KEY-----
64:         # 
65:         keypair = Rudy::AWS::EC2::Keypair.new
66:         keypair.fingerprint = h['keyFingerprint']
67:         keypair.name = h['keyName']
68:         keypair.private_key = h['keyMaterial']
69:         keypair
70:       end
get (name)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 77
77:       def get(name)
78:         keypairs = list(name) || []
79:         return if keypairs.empty?
80:         keypairs.first
81:       end
list (*names)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 40
40:       def list(*names)
41:         keypairs = list_as_hash(names)
42:         keypairs &&= keypairs.values
43:         keypairs
44:       end
list_as_hash (*names)
[show source]
    # File lib/rudy/aws/ec2/keypair.rb, line 46
46:       def list_as_hash(*names)
47:         names = names.flatten
48:         klist = @@ec2.describe_keypairs(:key_name => names)
49:         return unless klist['keySet'].is_a?(Hash)
50:         keypairs = {}
51:         klist['keySet']['item'].each do |oldkp| 
52:           kp = from_hash(oldkp)
53:           keypairs[kp.name] = kp
54:         end
55:         keypairs = nil if keypairs.empty?
56:         keypairs
57:       end