From: Michal Fojtik <[email protected]>

This feature indicate wheter cloud provider support
uploading of custom PEM keys or not.

Signed-off-by: Michal fojtik <[email protected]>
---
 server/lib/deltacloud/collections/keys.rb                         | 1 -
 server/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb | 1 +
 server/lib/deltacloud/drivers/features.rb                         | 7 +++++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/server/lib/deltacloud/collections/keys.rb 
b/server/lib/deltacloud/collections/keys.rb
index d1b5541..c5df3f9 100644
--- a/server/lib/deltacloud/collections/keys.rb
+++ b/server/lib/deltacloud/collections/keys.rb
@@ -34,7 +34,6 @@ module Deltacloud::Collections
 
       operation :create, :with_capability => :create_key do
         param :name,  :string,  :required
-        param :public_key, :string, :optional
         control do
           @key = driver.create_key(credentials, { :key_name => params[:name], 
:public_key => params[:public_key]})
           status 201
diff --git a/server/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb 
b/server/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb
index 666f105..ff4d967 100644
--- a/server/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb
+++ b/server/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb
@@ -22,6 +22,7 @@ module Deltacloud
 
         feature :instances, :user_name, :authentication_key
         feature :images, :owner_id
+        feature :keys, :public_key
 
         define_instance_states do
           start.to( :pending )          .on( :create )
diff --git a/server/lib/deltacloud/drivers/features.rb 
b/server/lib/deltacloud/drivers/features.rb
index 2f3621c..5f19032 100644
--- a/server/lib/deltacloud/drivers/features.rb
+++ b/server/lib/deltacloud/drivers/features.rb
@@ -30,6 +30,13 @@ module Deltacloud
 
     features do
 
+      feature :public_key, :for => :keys do
+        description "Allow to upload custom SSH public key"
+        operation :create do
+          param :public_key,  :string,  :optional,  [],  "SSH public key"
+        end
+      end
+
       feature :owner_id, :for => :images do
         description "Filter images using owner id"
         operation :index do
-- 
1.8.1.4

Reply via email to