Included modules
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