You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2011/07/15 10:36:53 UTC
svn commit: r1147018 - in /incubator/deltacloud/trunk/server:
lib/deltacloud/drivers/ec2/ec2_driver.rb
lib/deltacloud/drivers/vsphere/vsphere_driver.rb server.rb
views/images/show.html.haml
Author: mfojtik
Date: Fri Jul 15 08:36:52 2011
New Revision: 1147018
URL: http://svn.apache.org/viewvc?rev=1147018&view=rev
Log:
Added destroy method for image for VSphere and EC2
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
incubator/deltacloud/trunk/server/server.rb
incubator/deltacloud/trunk/server/views/images/show.html.haml
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/ec2/ec2_driver.rb?rev=1147018&r1=1147017&r2=1147018&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/ec2/ec2_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/ec2/ec2_driver.rb Fri Jul 15 08:36:52 2011
@@ -169,6 +169,15 @@ module Deltacloud
end
end
+ def destroy_image(credentials, image_id)
+ ec2 = new_client(credentials)
+ safely do
+ unless ec2.deregister_image(image_id)
+ raise "ERROR: Unable to deregister AMI"
+ end
+ end
+ end
+
def instances(credentials, opts={})
ec2 = new_client(credentials)
inst_arr = []
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb?rev=1147018&r1=1147017&r2=1147018&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb Fri Jul 15 08:36:52 2011
@@ -256,10 +256,12 @@ module Deltacloud::Drivers::VSphere
# Destroy an instance, given its id. Note that this will destory all
# instance data.
- def destroy_instance(credentials, id)
- find_vm(credentials, id)[:instance].Destroy_Task.wait_for_completion
+ def destroy_instance(credentials, instance_id)
+ find_vm(credentials, instance_id)[:instance].Destroy_Task.wait_for_completion
end
+ alias :destroy_image :destroy_instance
+
exceptions do
on /InvalidLogin/ do
Modified: incubator/deltacloud/trunk/server/server.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/server.rb?rev=1147018&r1=1147017&r2=1147018&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/server.rb (original)
+++ incubator/deltacloud/trunk/server/server.rb Fri Jul 15 08:36:52 2011
@@ -214,6 +214,20 @@ END
end
end
+ operation :destroy do
+ description "Remove specified image from collection"
+ with_capability :destroy_image
+ param :id, :string, :required
+ control do
+ driver.destroy_image(credentials, params[:id])
+ respond_to do |format|
+ format.xml { status 204 }
+ format.json { status 204 }
+ format.html { redirect(images_url) }
+ end
+ end
+ end
+
end
collection :instance_states do
Modified: incubator/deltacloud/trunk/server/views/images/show.html.haml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/views/images/show.html.haml?rev=1147018&r1=1147017&r2=1147018&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/views/images/show.html.haml (original)
+++ incubator/deltacloud/trunk/server/views/images/show.html.haml Fri Jul 15 08:36:52 2011
@@ -19,3 +19,4 @@
%dt
%dd
= link_to 'Launch', api_url_for("instances/new?image_id=#{@image.id}")
+ = link_to_action 'Destroy', destroy_image_url(@image.id), :delete