From 54eafbefdcce5ccc4a2319d76cfec0b6a7dd4fe5 Mon Sep 17 00:00:00 2001 From: "Ruben S. Montero" Date: Tue, 25 Sep 2012 23:14:36 +0200 Subject: [PATCH] feature #1383: Client functions to deal with keypairs --- src/cloud/ec2/lib/EC2QueryClient.rb | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/cloud/ec2/lib/EC2QueryClient.rb b/src/cloud/ec2/lib/EC2QueryClient.rb index 03a92c2768..e19f500c03 100644 --- a/src/cloud/ec2/lib/EC2QueryClient.rb +++ b/src/cloud/ec2/lib/EC2QueryClient.rb @@ -444,5 +444,61 @@ module EC2QueryClient return response end + + ###################################################################### + # Lists available key pairs + # @param name[String] of the kaypair + # @return keypairs[Hash] + # {"xmlns"=>"http://ec2.amazonaws.com/doc/2010-08-31/", + # "keySet"=>{"item"=>[ + # {"keyName"=>"...", "keyFingerprint"=>"..."}]}} + ###################################################################### + def describe_keypairs() + begin + response = @ec2_connection.describe_keypairs + rescue Exception => e + error = CloudClient::Error.new(e.message) + return error + end + + return response + end + + ###################################################################### + # Creates a new key pair + # @param name[String] of the kaypair + # @return keypair[Hash] + # {"xmlns"=>"http://ec2.amazonaws.com/doc/2010-08-31/", + # "keySet"=>{"item"=>[ + # {"keyName"=>"...", "keyFingerprint"=>"..."}]}} + ###################################################################### + def create_keypair(name) + begin + response = @ec2_connection.create_keypair(:key_name => name) + rescue Exception => e + error = CloudClient::Error.new(e.message) + return error + end + + return response + end + + ###################################################################### + # Deletes a new key pair + # @param name[String] of the kaypair + # @return response[Hash] + # {"xmlns"=>"http://ec2.amazonaws.com/doc/2010-08-31/", + # "return"=>{"true/false"} + ###################################################################### + def delete_keypair(name) + begin + response = @ec2_connection.delete_keypair(:key_name => name) + rescue Exception => e + error = CloudClient::Error.new(e.message) + return error + end + + return response + end end end