From f4560c8f76874fa63ce7ec9449d4841f36eda54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Font=C3=A1n=20Mui=C3=B1os?= Date: Wed, 22 Jul 2009 14:51:26 +0000 Subject: [PATCH] TerminateInstances git-svn-id: http://svn.opennebula.org/one/trunk@729 3034c82b-c49b-4eb3-8279-a7acafdc01c0 --- src/oca/ec2/eco.rb | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/oca/ec2/eco.rb b/src/oca/ec2/eco.rb index 060fd24bd2..4da2996793 100644 --- a/src/oca/ec2/eco.rb +++ b/src/oca/ec2/eco.rb @@ -236,6 +236,27 @@ def describe_instances(params) erb :describe_instances end +def terminate_instances(params) + @user=get_user(params['AWSAccessKeyId']) + vmid=params['InstanceId.1'] + + client=get_one_client_user(@user[:name]) + @vm=VirtualMachine.new(VirtualMachine.build_xml(vmid), client) + res=@vm.info + + halt 401, res.message if OpenNebula::is_error?(res) + + if @vm.status=='runn' + res=@vm.shutdown + else + res=@vm.finalize + end + + halt 401, res.message if OpenNebula::is_error?(res) + + erb :terminate_instances +end + post '/' do pp params @@ -250,6 +271,8 @@ post '/' do run_instances(params) when 'DescribeInstances' describe_instances(params) + when 'TerminateInstances' + terminate_instances(params) end end @@ -348,5 +371,21 @@ __END__ - + +@@ terminate_instances + + + + <%= @vm.id %> + + 32 + shutting-down + + + <%= render_state(@vm) %> + + + + +