vagrant-node 0.0.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +39 -1
 - data/lib/vagrant-node.rb +1 -0
 - data/lib/vagrant-node/actions/.svn/entries +62 -0
 - data/lib/vagrant-node/actions/.svn/text-base/snapshot.rb.svn-base +310 -0
 - data/lib/vagrant-node/actions/snapshot.rb +57 -32
 - data/lib/vagrant-node/api.rb +223 -42
 - data/lib/vagrant-node/apidesc.rb +105 -1
 - data/lib/vagrant-node/clientcontroller.rb +530 -291
 - data/lib/vagrant-node/configmanager.rb +284 -0
 - data/lib/vagrant-node/dbmanager.rb +120 -3
 - data/lib/vagrant-node/exceptions.rb +87 -0
 - data/lib/vagrant-node/nodeservercommand.rb +6 -0
 - data/lib/vagrant-node/nodeserverpasswd.rb +75 -0
 - data/lib/vagrant-node/nodeserverstart.rb +21 -11
 - data/lib/vagrant-node/nodeserverstop.rb +23 -13
 - data/lib/vagrant-node/pwmanager.rb +23 -0
 - data/lib/vagrant-node/server.rb +39 -13
 - data/lib/vagrant-node/version.rb +1 -1
 - data/vagrant-node.gemspec +9 -3
 - metadata +53 -13
 
    
        data/lib/vagrant-node/api.rb
    CHANGED
    
    | 
         @@ -4,7 +4,9 @@ require 'json' 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require 'rack'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'vagrant-node/clientcontroller'
         
     | 
| 
       6 
6 
     | 
    
         
             
            require 'vagrant-node/apidesc'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'vagrant-node/exceptions'
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
      
 9 
     | 
    
         
            +
            require 'cgi'
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
11 
     | 
    
         
             
            require 'pp'
         
     | 
| 
       10 
12 
     | 
    
         
             
            module Vagrant
         
     | 
| 
         @@ -12,10 +14,18 @@ module Vagrant 
     | 
|
| 
       12 
14 
     | 
    
         
             
            		module ServerAPI
         
     | 
| 
       13 
15 
     | 
    
         | 
| 
       14 
16 
     | 
    
         
             
            			class API < Sinatra::Base
         
     | 
| 
       15 
     | 
    
         
            -
            				include RestRoutes 
     | 
| 
       16 
     | 
    
         
            -
            				 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            				 
     | 
| 
      
 17 
     | 
    
         
            +
            				include RestRoutes
         
     | 
| 
      
 18 
     | 
    
         
            +
            				COOKIE_TOKEN_ID = "TOKEN"
         
     | 
| 
      
 19 
     | 
    
         
            +
            				COOKIE_EXPIRATION_TIME = 5
         
     | 
| 
      
 20 
     | 
    
         
            +
            				def initialize
         
     | 
| 
      
 21 
     | 
    
         
            +
            				  super
         
     | 
| 
      
 22 
     | 
    
         
            +
            				  @session_table=Hash.new
         
     | 
| 
      
 23 
     | 
    
         
            +
            				end 
         
     | 
| 
      
 24 
     | 
    
         
            +
            				#use Rack::Session::Pool, :expire_after => 2592000
         
     | 
| 
      
 25 
     | 
    
         
            +
            				#enable :sessions
         
     | 
| 
      
 26 
     | 
    
         
            +
            				# before do 
         
     | 
| 
      
 27 
     | 
    
         
            +
              					# content_type :json
         
     | 
| 
      
 28 
     | 
    
         
            +
            				# end
         
     | 
| 
       19 
29 
     | 
    
         | 
| 
       20 
30 
     | 
    
         | 
| 
       21 
31 
     | 
    
         
             
            				#UPLOAD A FILE
         
     | 
| 
         @@ -26,10 +36,47 @@ module Vagrant 
     | 
|
| 
       26 
36 
     | 
    
         
             
            				#  redirect '/'
         
     | 
| 
       27 
37 
     | 
    
         
             
            				#end		
         
     | 
| 
       28 
38 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            				
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
            # 
     | 
| 
      
 39 
     | 
    
         
            +
            				#before '^.*(^login).*' do
         
     | 
| 
      
 40 
     | 
    
         
            +
            			before %r{^(?!#{RouteManager.login_route}$)} do			
         
     | 
| 
      
 41 
     | 
    
         
            +
            			  content_type :json
         
     | 
| 
      
 42 
     | 
    
         
            +
            			  #FIXME REMOVE	
         
     | 
| 
      
 43 
     | 
    
         
            +
                    #puts "ENTRO BEFORE" 
         
     | 
| 
      
 44 
     | 
    
         
            +
                    #pp request.env
         
     | 
| 
      
 45 
     | 
    
         
            +
                    token  = ""
         
     | 
| 
      
 46 
     | 
    
         
            +
                    cookie = ""
         
     | 
| 
      
 47 
     | 
    
         
            +
                    
         
     | 
| 
      
 48 
     | 
    
         
            +
                    #pp "TOKEN DESCAPADO = #{CGI::unescape(request.env['HTTP_CONTENT_MD5'])}"
         
     | 
| 
      
 49 
     | 
    
         
            +
                    
         
     | 
| 
      
 50 
     | 
    
         
            +
                    
         
     | 
| 
      
 51 
     | 
    
         
            +
                    cookie = request.cookies[COOKIE_TOKEN_ID]        
         
     | 
| 
      
 52 
     | 
    
         
            +
                    token = CGI::unescape(request.env['HTTP_CONTENT_MD5']) if request.env['HTTP_CONTENT_MD5']!=nil 
         
     | 
| 
      
 53 
     | 
    
         
            +
                    
         
     | 
| 
      
 54 
     | 
    
         
            +
                    #FIXME REMOVE
         
     | 
| 
      
 55 
     | 
    
         
            +
                    # pp "COOKIES = #{cookie}"
         
     | 
| 
      
 56 
     | 
    
         
            +
                    # pp "TOKEN = #{token}"
         
     | 
| 
      
 57 
     | 
    
         
            +
            #                                   
         
     | 
| 
      
 58 
     | 
    
         
            +
                    # pp "TIENE COOKIE " if (@session_table.has_key?(cookie))
         
     | 
| 
      
 59 
     | 
    
         
            +
                    # pp "CONTIENE TOKEN " if (challenged?(token))
         
     | 
| 
      
 60 
     | 
    
         
            +
                    
         
     | 
| 
      
 61 
     | 
    
         
            +
            			  if (!@session_table.has_key?(cookie)|| 
         
     | 
| 
      
 62 
     | 
    
         
            +
            			       !challenged?(token))			       				    		    
         
     | 
| 
      
 63 
     | 
    
         
            +
            			    redirect to(RouteManager.login_route)
         
     | 
| 
      
 64 
     | 
    
         
            +
            			    
         
     | 
| 
      
 65 
     | 
    
         
            +
            			  else
         
     | 
| 
      
 66 
     | 
    
         
            +
            			    #raise RestException.new(401,"Not authorized") if !authorized?(cookie,token)	    
         
     | 
| 
      
 67 
     | 
    
         
            +
            			    halt 401, "Not authorized\n" if !authorized?(cookie,token)
         
     | 
| 
      
 68 
     | 
    
         
            +
            			  end				   
         
     | 
| 
      
 69 
     | 
    
         
            +
            			  clear_session_table
         
     | 
| 
      
 70 
     | 
    
         
            +
            			end
         
     | 
| 
      
 71 
     | 
    
         
            +
            			
         
     | 
| 
      
 72 
     | 
    
         
            +
            			after %r{^(?!#{RouteManager.login_route}$)} do
         
     | 
| 
      
 73 
     | 
    
         
            +
            			 
         
     | 
| 
      
 74 
     | 
    
         
            +
            			 cookie=request.cookies[COOKIE_TOKEN_ID]
         
     | 
| 
      
 75 
     | 
    
         
            +
            			 
         
     | 
| 
      
 76 
     | 
    
         
            +
            			 @session_table.delete(cookie) if cookie!=nil
         
     | 
| 
      
 77 
     | 
    
         
            +
            			 #FIXME REMOVE
         
     | 
| 
      
 78 
     | 
    
         
            +
            			 #pp "-------------------------------------------"
         
     | 
| 
      
 79 
     | 
    
         
            +
            			end
         
     | 
| 
       33 
80 
     | 
    
         | 
| 
       34 
81 
     | 
    
         
             
            			######### FIXME DELETE #####################			
         
     | 
| 
       35 
82 
     | 
    
         
             
            			get '/' do
         
     | 
| 
         @@ -37,122 +84,256 @@ module Vagrant 
     | 
|
| 
       37 
84 
     | 
    
         
             
            			end		
         
     | 
| 
       38 
85 
     | 
    
         | 
| 
       39 
86 
     | 
    
         
             
            			###############################################
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 87 
     | 
    
         
            +
            		  get RouteManager.login_route do		    
         
     | 
| 
      
 88 
     | 
    
         
            +
                    res = ClientController.send_challenge
         
     | 
| 
      
 89 
     | 
    
         
            +
                    #FIXME REMOVE
         
     | 
| 
      
 90 
     | 
    
         
            +
                    #puts "LOGIN"
         
     | 
| 
      
 91 
     | 
    
         
            +
                    
         
     | 
| 
      
 92 
     | 
    
         
            +
                    
         
     | 
| 
      
 93 
     | 
    
         
            +
                    #@session_table[res[:cookie]]={:expiration => Time::now.to_i,:challenge=>res[:challenge]}
         
     | 
| 
      
 94 
     | 
    
         
            +
                    #pp res[:cookie]
         
     | 
| 
      
 95 
     | 
    
         
            +
                    @session_table[res[:cookie]]={:expiration => Time::now.to_i+COOKIE_EXPIRATION_TIME,:challenge=>res[:challenge]}
         
     | 
| 
      
 96 
     | 
    
         
            +
                    #pp @session_table.inspect
         
     | 
| 
      
 97 
     | 
    
         
            +
                    
         
     | 
| 
      
 98 
     | 
    
         
            +
                    response.set_cookie(COOKIE_TOKEN_ID, res[:cookie])        
         
     | 
| 
      
 99 
     | 
    
         
            +
                    headers "Content_MD5"   => res[:challenge]        
         
     | 
| 
      
 100 
     | 
    
         
            +
                    status 200  	    
         
     | 
| 
      
 101 
     | 
    
         
            +
                    
         
     | 
| 
      
 102 
     | 
    
         
            +
            		    #handle_response_result(ClientController.send_challenge)
         
     | 
| 
      
 103 
     | 
    
         
            +
            		  end
         
     | 
| 
      
 104 
     | 
    
         
            +
            		  
         
     | 
| 
       41 
105 
     | 
    
         
             
            			get RouteManager.box_list_route	do				
         
     | 
| 
       42 
     | 
    
         
            -
            				ClientController.listboxes.to_json
         
     | 
| 
      
 106 
     | 
    
         
            +
            				#ClientController.listboxes.to_json
         
     | 
| 
      
 107 
     | 
    
         
            +
            				execute(:listboxes)
         
     | 
| 
       43 
108 
     | 
    
         
             
            			end
         
     | 
| 
       44 
109 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
            			delete RouteManager.box_delete_route do 
     | 
| 
       46 
     | 
    
         
            -
            				handle_response_result(ClientController.box_delete(params[:box],params[:provider]))
         
     | 
| 
      
 110 
     | 
    
         
            +
            			delete RouteManager.box_delete_route do			  					
         
     | 
| 
      
 111 
     | 
    
         
            +
            				#handle_response_result(ClientController.box_delete("params[:box]",params[:provider]))				
         
     | 
| 
      
 112 
     | 
    
         
            +
            				execute(:box_delete,true,params[:box],params[:provider])
         
     | 
| 
       47 
113 
     | 
    
         
             
            			end				
         
     | 
| 
       48 
114 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            			post RouteManager.box_add_route do 
     | 
| 
       50 
     | 
    
         
            -
            				 
     | 
| 
      
 115 
     | 
    
         
            +
            			post RouteManager.box_add_route do			  
         
     | 
| 
      
 116 
     | 
    
         
            +
            				execute_async(:box_add,params[:box],params[:url])
         
     | 
| 
       51 
117 
     | 
    
         
             
            			end
         
     | 
| 
       52 
118 
     | 
    
         | 
| 
       53 
119 
     | 
    
         | 
| 
       54 
120 
     | 
    
         | 
| 
       55 
121 
     | 
    
         
             
            			get RouteManager.vm_status_all_route do
         
     | 
| 
       56 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_status(nil))
         
     | 
| 
      
 122 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_status(nil))
         
     | 
| 
      
 123 
     | 
    
         
            +
            				execute(:vm_status)
         
     | 
| 
       57 
124 
     | 
    
         
             
            			end
         
     | 
| 
       58 
125 
     | 
    
         | 
| 
       59 
126 
     | 
    
         | 
| 
       60 
127 
     | 
    
         | 
| 
       61 
128 
     | 
    
         
             
            			get RouteManager.vm_status_route do
         
     | 
| 
       62 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_status(params[:vm]))
         
     | 
| 
      
 129 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_status(params[:vm]))
         
     | 
| 
      
 130 
     | 
    
         
            +
            				execute(:vm_status,true,params[:vm])
         
     | 
| 
       63 
131 
     | 
    
         
             
            			end
         
     | 
| 
       64 
132 
     | 
    
         | 
| 
       65 
133 
     | 
    
         
             
            			#accept :vmname as paramter. This parameter
         
     | 
| 
       66 
134 
     | 
    
         
             
            			#could be empty
         
     | 
| 
       67 
     | 
    
         
            -
            			post RouteManager.vm_up_route do
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
      
 135 
     | 
    
         
            +
            			post RouteManager.vm_up_route do			  			  
         
     | 
| 
      
 136 
     | 
    
         
            +
            			  execute_async(:vm_up,params[:vmname])
         
     | 
| 
       69 
137 
     | 
    
         
             
            			end
         
     | 
| 
       70 
138 
     | 
    
         | 
| 
       71 
139 
     | 
    
         
             
            			#accept :vmname and :force as paramters
         
     | 
| 
       72 
140 
     | 
    
         
             
            			post RouteManager.vm_halt_route do
         
     | 
| 
       73 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_halt(params[:vmname],params[:force]))
         
     | 
| 
      
 141 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_halt(params[:vmname],params[:force]))
         
     | 
| 
      
 142 
     | 
    
         
            +
            				execute_async(:vm_halt,params[:vmname],params[:force])        
         
     | 
| 
       74 
143 
     | 
    
         
             
            			end
         
     | 
| 
       75 
144 
     | 
    
         | 
| 
       76 
145 
     | 
    
         
             
            			#accept :vmname as paramter. This parameter
         
     | 
| 
       77 
146 
     | 
    
         
             
            			#could be empty
         
     | 
| 
       78 
147 
     | 
    
         
             
            			post RouteManager.vm_destroy_route do
         
     | 
| 
       79 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_confirmed_destroy(params[:vmname]))
         
     | 
| 
      
 148 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_confirmed_destroy(params[:vmname]))
         
     | 
| 
      
 149 
     | 
    
         
            +
            				execute(:vm_confirmed_destroy,true,params[:vmname])        
         
     | 
| 
       80 
150 
     | 
    
         
             
            			end
         
     | 
| 
      
 151 
     | 
    
         
            +
            			
         
     | 
| 
      
 152 
     | 
    
         
            +
            			put RouteManager.vm_add_route do			  
         
     | 
| 
      
 153 
     | 
    
         
            +
                    execute(:vm_add,false,params[:file],params[:rename])        
         
     | 
| 
      
 154 
     | 
    
         
            +
                  end
         
     | 
| 
      
 155 
     | 
    
         
            +
                  
         
     | 
| 
      
 156 
     | 
    
         
            +
                  delete RouteManager.vm_delete_route do
         
     | 
| 
      
 157 
     | 
    
         
            +
                    execute(:vm_delete,false,params[:vm],params[:remove])
         
     | 
| 
      
 158 
     | 
    
         
            +
                  end
         
     | 
| 
       81 
159 
     | 
    
         | 
| 
       82 
160 
     | 
    
         
             
            			#accept :vmname as paramter. This parameter
         
     | 
| 
       83 
161 
     | 
    
         
             
            			#could be empty
         
     | 
| 
       84 
     | 
    
         
            -
            			post RouteManager.vm_suspend_route do
         
     | 
| 
       85 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_suspend(params[:vmname]))
         
     | 
| 
      
 162 
     | 
    
         
            +
            			post RouteManager.vm_suspend_route do				
         
     | 
| 
      
 163 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_suspend(params[:vmname]))
         
     | 
| 
      
 164 
     | 
    
         
            +
            				execute_async(:vm_suspend,params[:vmname])        
         
     | 
| 
       86 
165 
     | 
    
         
             
            			end
         
     | 
| 
       87 
166 
     | 
    
         | 
| 
       88 
167 
     | 
    
         
             
            			#accept :vmname as paramter. This parameter
         
     | 
| 
       89 
168 
     | 
    
         
             
            			#could be empty
         
     | 
| 
       90 
169 
     | 
    
         
             
            			post RouteManager.vm_resume_route do					
         
     | 
| 
       91 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_resume(params[:vmname]))
         
     | 
| 
      
 170 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_resume(params[:vmname]))
         
     | 
| 
      
 171 
     | 
    
         
            +
            				execute_async(:vm_resume,params[:vmname])        
         
     | 
| 
       92 
172 
     | 
    
         
             
            			end
         
     | 
| 
       93 
173 
     | 
    
         | 
| 
       94 
174 
     | 
    
         
             
            			post RouteManager.vm_provision_route do
         
     | 
| 
       95 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_provision(params[:vmname]))
         
     | 
| 
      
 175 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_provision(params[:vmname]))
         
     | 
| 
      
 176 
     | 
    
         
            +
            				execute_async(:vm_provision,params[:vmname])        
         
     | 
| 
       96 
177 
     | 
    
         
             
            			end
         
     | 
| 
       97 
178 
     | 
    
         | 
| 
       98 
179 
     | 
    
         | 
| 
       99 
180 
     | 
    
         | 
| 
       100 
181 
     | 
    
         
             
            			get RouteManager.vm_sshconfig_route do				
         
     | 
| 
       101 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_ssh_config(params[:vm]))
         
     | 
| 
      
 182 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_ssh_config(params[:vm]))
         
     | 
| 
      
 183 
     | 
    
         
            +
            				execute(:vm_ssh_config,true,params[:vm])        
         
     | 
| 
       102 
184 
     | 
    
         
             
            			end
         
     | 
| 
       103 
185 
     | 
    
         | 
| 
       104 
186 
     | 
    
         
             
            			get RouteManager.snapshots_all_route do
         
     | 
| 
       105 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_snapshots(nil))
         
     | 
| 
      
 187 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_snapshots(nil))
         
     | 
| 
      
 188 
     | 
    
         
            +
            				execute(:vm_snapshots,true)        
         
     | 
| 
       106 
189 
     | 
    
         
             
            			end
         
     | 
| 
       107 
190 
     | 
    
         | 
| 
       108 
191 
     | 
    
         | 
| 
       109 
192 
     | 
    
         | 
| 
       110 
193 
     | 
    
         
             
            			get RouteManager.vm_snapshots_route do
         
     | 
| 
       111 
     | 
    
         
            -
            				handle_response_result(ClientController.vm_snapshots(params[:vm]))
         
     | 
| 
      
 194 
     | 
    
         
            +
            				#handle_response_result(ClientController.vm_snapshots(params[:vm]))
         
     | 
| 
      
 195 
     | 
    
         
            +
            				execute(:vm_snapshots,true,params[:vm])        
         
     | 
| 
       112 
196 
     | 
    
         
             
            			end
         
     | 
| 
       113 
197 
     | 
    
         | 
| 
       114 
198 
     | 
    
         
             
            			get RouteManager.vm_snapshot_take_route do														
         
     | 
| 
       115 
     | 
    
         
            -
            				result=ClientController.vm_snapshot_take_file(params[:vmname])
         
     | 
| 
      
 199 
     | 
    
         
            +
            				#result=ClientController.vm_snapshot_take_file(params[:vmname])
         
     | 
| 
      
 200 
     | 
    
         
            +
            				result=execute(:vm_snapshot_take_file,false,params[:vmname])
         
     | 
| 
       116 
201 
     | 
    
         | 
| 
       117 
202 
     | 
    
         | 
| 
       118 
203 
     | 
    
         
             
            				send_file "#{result[1]}", :filename => result[1], 
         
     | 
| 
       119 
     | 
    
         
            -
            									:type => 'Application/octet-stream' if result[0]==200 && params[:download] 
     | 
| 
      
 204 
     | 
    
         
            +
            									:type => 'Application/octet-stream' if result[0]==200 && params[:download]=="true"
         
     | 
| 
       120 
205 
     | 
    
         | 
| 
       121 
206 
     | 
    
         
             
            				status result[0]
         
     | 
| 
       122 
207 
     | 
    
         | 
| 
       123 
208 
     | 
    
         
             
            			end
         
     | 
| 
       124 
209 
     | 
    
         | 
| 
       125 
210 
     | 
    
         | 
| 
       126 
     | 
    
         
            -
            			post RouteManager.vm_snapshot_take_route do
         
     | 
| 
       127 
     | 
    
         
            -
            					handle_response_result(ClientController.vm_snapshot_take(params[:vmname],params[:name],params[:desc]))
         
     | 
| 
      
 211 
     | 
    
         
            +
            			post RouteManager.vm_snapshot_take_route do			  
         
     | 
| 
      
 212 
     | 
    
         
            +
            					#handle_response_result(ClientController.vm_snapshot_take(params[:vmname],params[:name],params[:desc]))					
         
     | 
| 
      
 213 
     | 
    
         
            +
            					execute_async(:vm_snapshot_take,params[:vmname],params[:name],params[:desc])					      
         
     | 
| 
       128 
214 
     | 
    
         
             
            			end
         
     | 
| 
       129 
215 
     | 
    
         | 
| 
       130 
216 
     | 
    
         | 
| 
       131 
217 
     | 
    
         
             
            			post RouteManager.vm_snapshot_restore_route do
         
     | 
| 
       132 
     | 
    
         
            -
            					handle_response_result(ClientController.vm_snapshot_restore(params[:vmname],params[:snapid]))
         
     | 
| 
      
 218 
     | 
    
         
            +
            					#handle_response_result(ClientController.vm_snapshot_restore(params[:vmname],params[:snapid]))					
         
     | 
| 
      
 219 
     | 
    
         
            +
            					execute_async(:vm_snapshot_restore,params[:vmname],params[:snapid])
         
     | 
| 
       133 
220 
     | 
    
         
             
            			end
         
     | 
| 
       134 
221 
     | 
    
         | 
| 
      
 222 
     | 
    
         
            +
            			delete RouteManager.vm_snapshot_delete_route do
         
     | 
| 
      
 223 
     | 
    
         
            +
                    execute(:vm_snapshot_delete,false,params[:vm],params[:snapid])
         
     | 
| 
      
 224 
     | 
    
         
            +
                  end
         
     | 
| 
      
 225 
     | 
    
         
            +
            			
         
     | 
| 
       135 
226 
     | 
    
         | 
| 
       136 
227 
     | 
    
         
             
            			get RouteManager.vm_backup_log_route do
         
     | 
| 
       137 
     | 
    
         
            -
            				handle_response_result(ClientController.backup_log(params[:vm]))
         
     | 
| 
      
 228 
     | 
    
         
            +
            				#handle_response_result(ClientController.backup_log(params[:vm]))
         
     | 
| 
      
 229 
     | 
    
         
            +
            				execute(:backup_log,true,params[:vm])
         
     | 
| 
       138 
230 
     | 
    
         
             
            			end
         
     | 
| 
       139 
231 
     | 
    
         | 
| 
       140 
232 
     | 
    
         | 
| 
       141 
233 
     | 
    
         | 
| 
       142 
234 
     | 
    
         
             
            			get RouteManager.node_backup_log_route do
         
     | 
| 
       143 
     | 
    
         
            -
            				handle_response_result(ClientController.backup_log(nil))
         
     | 
| 
      
 235 
     | 
    
         
            +
            				#handle_response_result(ClientController.backup_log(nil))
         
     | 
| 
      
 236 
     | 
    
         
            +
            				execute(:backup_log,true)
         
     | 
| 
      
 237 
     | 
    
         
            +
            			end
         
     | 
| 
      
 238 
     | 
    
         
            +
            			
         
     | 
| 
      
 239 
     | 
    
         
            +
            			
         
     | 
| 
      
 240 
     | 
    
         
            +
            			get RouteManager.config_show_route do
         
     | 
| 
      
 241 
     | 
    
         
            +
            			  result= execute(:config_show,false)
         
     | 
| 
      
 242 
     | 
    
         
            +
            			  #result=ClientController.config_show  
         
     | 
| 
      
 243 
     | 
    
         
            +
                    
         
     | 
| 
      
 244 
     | 
    
         
            +
                    send_file(result, :disposition => 'attachment', :filename => result)          
         
     | 
| 
      
 245 
     | 
    
         
            +
                                    
         
     | 
| 
      
 246 
     | 
    
         
            +
                  end
         
     | 
| 
      
 247 
     | 
    
         
            +
            			
         
     | 
| 
      
 248 
     | 
    
         
            +
            			post RouteManager.node_password_change_route do
         
     | 
| 
      
 249 
     | 
    
         
            +
            			  execute(:password_change,false,params[:password])
         
     | 
| 
       144 
250 
     | 
    
         
             
            			end
         
     | 
| 
       145 
251 
     | 
    
         | 
| 
      
 252 
     | 
    
         
            +
            			post RouteManager.config_upload_route do			  
         
     | 
| 
      
 253 
     | 
    
         
            +
            			  execute(:config_upload,false,params[:file])
         
     | 
| 
      
 254 
     | 
    
         
            +
            			end
         
     | 
| 
      
 255 
     | 
    
         
            +
            			
         
     | 
| 
      
 256 
     | 
    
         
            +
            			get RouteManager.node_queue_route do			  
         
     | 
| 
      
 257 
     | 
    
         
            +
            			  execute(:operation_queued,true,params[:id])
         
     | 
| 
      
 258 
     | 
    
         
            +
            			end
         
     | 
| 
      
 259 
     | 
    
         
            +
            			
         
     | 
| 
      
 260 
     | 
    
         
            +
            			get RouteManager.node_queue_last_route do			  
         
     | 
| 
      
 261 
     | 
    
         
            +
                    execute(:operation_queued_last,true)
         
     | 
| 
      
 262 
     | 
    
         
            +
                  end
         
     | 
| 
      
 263 
     | 
    
         
            +
            			
         
     | 
| 
      
 264 
     | 
    
         
            +
            			
         
     | 
| 
       146 
265 
     | 
    
         | 
| 
       147 
266 
     | 
    
         
             
            			private
         
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
     | 
    
         
            -
             
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
       152 
     | 
    
         
            -
             
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
       154 
     | 
    
         
            -
             
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
      
 267 
     | 
    
         
            +
            			  def clear_session_table			   
         
     | 
| 
      
 268 
     | 
    
         
            +
            			   @session_table.delete_if {|key,value| Time::now.to_i >= value[:expiration]}
         
     | 
| 
      
 269 
     | 
    
         
            +
            			  end
         
     | 
| 
      
 270 
     | 
    
         
            +
            			  
         
     | 
| 
      
 271 
     | 
    
         
            +
            			  #FIXME Factorizar estos dos métodos
         
     | 
| 
      
 272 
     | 
    
         
            +
            			  def execute_async(method,*params)
         
     | 
| 
      
 273 
     | 
    
         
            +
                      begin 
         
     | 
| 
      
 274 
     | 
    
         
            +
                        if params.empty?
         
     | 
| 
      
 275 
     | 
    
         
            +
                          result=ClientController.send method.to_sym
         
     | 
| 
      
 276 
     | 
    
         
            +
                        else              
         
     | 
| 
      
 277 
     | 
    
         
            +
                          result=ClientController.send method.to_sym,*params
         
     | 
| 
      
 278 
     | 
    
         
            +
                        end
         
     | 
| 
      
 279 
     | 
    
         
            +
                        
         
     | 
| 
      
 280 
     | 
    
         
            +
                        
         
     | 
| 
      
 281 
     | 
    
         
            +
                        #pp result
         
     | 
| 
      
 282 
     | 
    
         
            +
                        status 202
         
     | 
| 
      
 283 
     | 
    
         
            +
                        body "Location: #{result}"
         
     | 
| 
      
 284 
     | 
    
         
            +
                        # body "Location: #{result}".to_json                        
         
     | 
| 
      
 285 
     | 
    
         
            +
                        
         
     | 
| 
      
 286 
     | 
    
         
            +
                      rescue => e          
         
     | 
| 
      
 287 
     | 
    
         
            +
                        #FIXME DELETE PUTS
         
     | 
| 
      
 288 
     | 
    
         
            +
                        #puts "EN EXCEPCION"
         
     | 
| 
      
 289 
     | 
    
         
            +
                         puts e.class
         
     | 
| 
      
 290 
     | 
    
         
            +
                         puts e.message
         
     | 
| 
      
 291 
     | 
    
         
            +
                         
         
     | 
| 
      
 292 
     | 
    
         
            +
                        
         
     | 
| 
      
 293 
     | 
    
         
            +
                         exception = ((e.class==RestException)? e:ExceptionMutator.new(e))           
         
     | 
| 
      
 294 
     | 
    
         
            +
                        
         
     | 
| 
      
 295 
     | 
    
         
            +
                         halt exception.code,exception.message           
         
     | 
| 
      
 296 
     | 
    
         
            +
                      end
         
     | 
| 
      
 297 
     | 
    
         
            +
                      
         
     | 
| 
      
 298 
     | 
    
         
            +
                    end     
         
     | 
| 
      
 299 
     | 
    
         
            +
            			  
         
     | 
| 
      
 300 
     | 
    
         
            +
            			  #def execute(method,params = {} ,to_json = true)
         
     | 
| 
      
 301 
     | 
    
         
            +
            			  def execute(method,to_json = true,*params)
         
     | 
| 
      
 302 
     | 
    
         
            +
            			    begin	
         
     | 
| 
      
 303 
     | 
    
         
            +
            			      if params.empty?
         
     | 
| 
      
 304 
     | 
    
         
            +
            			        result=ClientController.send method.to_sym
         
     | 
| 
      
 305 
     | 
    
         
            +
            			      else			        
         
     | 
| 
      
 306 
     | 
    
         
            +
            			        result=ClientController.send method.to_sym,*params
         
     | 
| 
      
 307 
     | 
    
         
            +
            			      end
         
     | 
| 
      
 308 
     | 
    
         
            +
                        #puts "TERMINADA LA OPERACION"
         
     | 
| 
      
 309 
     | 
    
         
            +
                        #puts "A JSON " if to_json
         
     | 
| 
      
 310 
     | 
    
         
            +
                        #puts "resultado #{result}"
         
     | 
| 
      
 311 
     | 
    
         
            +
                        return result.to_json if to_json
         
     | 
| 
      
 312 
     | 
    
         
            +
                        result
         
     | 
| 
      
 313 
     | 
    
         
            +
                        
         
     | 
| 
      
 314 
     | 
    
         
            +
            			    rescue => e			     
         
     | 
| 
      
 315 
     | 
    
         
            +
            			      #puts "EN EXCEPCION"
         
     | 
| 
      
 316 
     | 
    
         
            +
            			       puts e.class
         
     | 
| 
      
 317 
     | 
    
         
            +
            			      puts e.message
         
     | 
| 
      
 318 
     | 
    
         
            +
            			       
         
     | 
| 
      
 319 
     | 
    
         
            +
            			      
         
     | 
| 
      
 320 
     | 
    
         
            +
            			      exception = ((e.class==RestException)? e:ExceptionMutator.new(e))			      
         
     | 
| 
      
 321 
     | 
    
         
            +
            			      
         
     | 
| 
      
 322 
     | 
    
         
            +
            			      halt exception.code,exception.message			      
         
     | 
| 
      
 323 
     | 
    
         
            +
            			    end
         
     | 
| 
      
 324 
     | 
    
         
            +
            			    
         
     | 
| 
      
 325 
     | 
    
         
            +
            			  end		  
         
     | 
| 
      
 326 
     | 
    
         
            +
            			  
         
     | 
| 
      
 327 
     | 
    
         
            +
            			  
         
     | 
| 
      
 328 
     | 
    
         
            +
              			
         
     | 
| 
      
 329 
     | 
    
         
            +
              			def authorized?(id,token)  			  
         
     | 
| 
      
 330 
     | 
    
         
            +
              			  @session_table[id][:challenge]
         
     | 
| 
      
 331 
     | 
    
         
            +
              			  ClientController.authorized?(token,@session_table[id][:challenge]) if @session_table.has_key?(id)
         
     | 
| 
      
 332 
     | 
    
         
            +
              			end
         
     | 
| 
      
 333 
     | 
    
         
            +
              			
         
     | 
| 
      
 334 
     | 
    
         
            +
              			def challenged?(token)
         
     | 
| 
      
 335 
     | 
    
         
            +
              			  (token!=nil && token.size==32) 
         
     | 
| 
      
 336 
     | 
    
         
            +
              			end
         
     | 
| 
       156 
337 
     | 
    
         | 
| 
       157 
338 
     | 
    
         
             
            			end
         
     | 
| 
       158 
339 
     | 
    
         
             
            		end
         
     | 
    
        data/lib/vagrant-node/apidesc.rb
    CHANGED
    
    | 
         @@ -36,6 +36,10 @@ module RestRoutes 
     | 
|
| 
       36 
36 
     | 
    
         
             
            			VM_DESTROY_ROUTE
         
     | 
| 
       37 
37 
     | 
    
         
             
            		end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
      
 39 
     | 
    
         
            +
            		def self.vm_add_route
         
     | 
| 
      
 40 
     | 
    
         
            +
                  VM_ADD_ROUTE
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
            		
         
     | 
| 
       39 
43 
     | 
    
         
             
            		def self.vm_status_route
         
     | 
| 
       40 
44 
     | 
    
         
             
            			VM_STATUS_ROUTE
         
     | 
| 
       41 
45 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -64,6 +68,14 @@ module RestRoutes 
     | 
|
| 
       64 
68 
     | 
    
         
             
            			VM_SNAPSHOT_TAKE_ROUTE
         
     | 
| 
       65 
69 
     | 
    
         
             
            		end
         
     | 
| 
       66 
70 
     | 
    
         | 
| 
      
 71 
     | 
    
         
            +
            		def self.vm_snapshot_delete_route
         
     | 
| 
      
 72 
     | 
    
         
            +
                  VM_SNAPSHOT_DELETE_ROUTE
         
     | 
| 
      
 73 
     | 
    
         
            +
                end
         
     | 
| 
      
 74 
     | 
    
         
            +
            		
         
     | 
| 
      
 75 
     | 
    
         
            +
            		def self.vm_delete_route
         
     | 
| 
      
 76 
     | 
    
         
            +
                  VM_DELETE_ROUTE
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
            		
         
     | 
| 
       67 
79 
     | 
    
         
             
            		def self.vm_snapshot_restore_route
         
     | 
| 
       68 
80 
     | 
    
         
             
            			VM_SNAPSHOT_RESTORE_ROUTE
         
     | 
| 
       69 
81 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -72,11 +84,42 @@ module RestRoutes 
     | 
|
| 
       72 
84 
     | 
    
         
             
            			NODE_BACKUP_LOG_ROUTE
         
     | 
| 
       73 
85 
     | 
    
         
             
            		end
         
     | 
| 
       74 
86 
     | 
    
         | 
| 
      
 87 
     | 
    
         
            +
            		def self.node_password_change_route
         
     | 
| 
      
 88 
     | 
    
         
            +
                  NODE_PASSWORD_CHANGE
         
     | 
| 
      
 89 
     | 
    
         
            +
                end
         
     | 
| 
      
 90 
     | 
    
         
            +
            		
         
     | 
| 
      
 91 
     | 
    
         
            +
            		
         
     | 
| 
      
 92 
     | 
    
         
            +
            		
         
     | 
| 
       75 
93 
     | 
    
         
             
            		def self.vm_backup_log_route
         
     | 
| 
       76 
94 
     | 
    
         
             
            			VM_BACKUP_LOG_ROUTE
         
     | 
| 
       77 
95 
     | 
    
         
             
            		end
         
     | 
| 
       78 
96 
     | 
    
         | 
| 
       79 
97 
     | 
    
         | 
| 
      
 98 
     | 
    
         
            +
            		def self.config_show_route
         
     | 
| 
      
 99 
     | 
    
         
            +
                  NODE_CONFIG_SHOW_ROUTE
         
     | 
| 
      
 100 
     | 
    
         
            +
                end
         
     | 
| 
      
 101 
     | 
    
         
            +
                
         
     | 
| 
      
 102 
     | 
    
         
            +
                def self.config_upload_route
         
     | 
| 
      
 103 
     | 
    
         
            +
                  NODE_CONFIG_UPLOAD_ROUTE
         
     | 
| 
      
 104 
     | 
    
         
            +
                end
         
     | 
| 
      
 105 
     | 
    
         
            +
            		
         
     | 
| 
      
 106 
     | 
    
         
            +
            		
         
     | 
| 
      
 107 
     | 
    
         
            +
            		def self.login_route
         
     | 
| 
      
 108 
     | 
    
         
            +
            		  LOGIN_ROUTE
         
     | 
| 
      
 109 
     | 
    
         
            +
            		end
         
     | 
| 
      
 110 
     | 
    
         
            +
            		
         
     | 
| 
      
 111 
     | 
    
         
            +
            		def self.node_queue_route
         
     | 
| 
      
 112 
     | 
    
         
            +
            		  NODE_QUEUE_ROUTE
         
     | 
| 
      
 113 
     | 
    
         
            +
            		end
         
     | 
| 
      
 114 
     | 
    
         
            +
            		
         
     | 
| 
      
 115 
     | 
    
         
            +
            		def self.node_queue_last_route
         
     | 
| 
      
 116 
     | 
    
         
            +
                  NODE_QUEUE_LAST_ROUTE
         
     | 
| 
      
 117 
     | 
    
         
            +
                end
         
     | 
| 
      
 118 
     | 
    
         
            +
            		
         
     | 
| 
      
 119 
     | 
    
         
            +
            		
         
     | 
| 
      
 120 
     | 
    
         
            +
            		
         
     | 
| 
      
 121 
     | 
    
         
            +
            		
         
     | 
| 
      
 122 
     | 
    
         
            +
            		
         
     | 
| 
       80 
123 
     | 
    
         
             
            		def self.box_list_url(host,port)
         
     | 
| 
       81 
124 
     | 
    
         
             
            			"http://#{host}:#{port}#{box_list_route}"
         
     | 
| 
       82 
125 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -95,8 +138,20 @@ module RestRoutes 
     | 
|
| 
       95 
138 
     | 
    
         
             
            			url
         
     | 
| 
       96 
139 
     | 
    
         | 
| 
       97 
140 
     | 
    
         
             
            		end
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
141 
     | 
    
         | 
| 
      
 142 
     | 
    
         
            +
            		def self.node_queue_url(host,port,id)
         
     | 
| 
      
 143 
     | 
    
         
            +
            		  url=String.new(node_queue_route)		  
         
     | 
| 
      
 144 
     | 
    
         
            +
            		  url[":id"] = id		  
         
     | 
| 
      
 145 
     | 
    
         
            +
            		  url="http://#{host}:#{port}#{url}"
         
     | 
| 
      
 146 
     | 
    
         
            +
            		end
         
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
      
 148 
     | 
    
         
            +
                def self.node_queue_last_url(host,port)
         
     | 
| 
      
 149 
     | 
    
         
            +
                  "http://#{host}:#{port}#{node_queue_last_route}"
         
     | 
| 
      
 150 
     | 
    
         
            +
                end
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
            		def self.login_url(host,port)
         
     | 
| 
      
 153 
     | 
    
         
            +
            		  "http://#{host}:#{port}#{login_route}"
         
     | 
| 
      
 154 
     | 
    
         
            +
            		end
         
     | 
| 
       100 
155 
     | 
    
         | 
| 
       101 
156 
     | 
    
         
             
            		def self.vm_up_url(host,port)
         
     | 
| 
       102 
157 
     | 
    
         
             
            			"http://#{host}:#{port}#{vm_up_route}"
         
     | 
| 
         @@ -110,6 +165,10 @@ module RestRoutes 
     | 
|
| 
       110 
165 
     | 
    
         
             
            			"http://#{host}:#{port}#{vm_destroy_route}"
         
     | 
| 
       111 
166 
     | 
    
         
             
            		end			
         
     | 
| 
       112 
167 
     | 
    
         | 
| 
      
 168 
     | 
    
         
            +
            		def self.vm_add_url(host,port)
         
     | 
| 
      
 169 
     | 
    
         
            +
                  "http://#{host}:#{port}#{vm_add_route}"
         
     | 
| 
      
 170 
     | 
    
         
            +
                end
         
     | 
| 
      
 171 
     | 
    
         
            +
            		
         
     | 
| 
       113 
172 
     | 
    
         
             
            		def self.vm_suspend_url(host,port)
         
     | 
| 
       114 
173 
     | 
    
         
             
            			"http://#{host}:#{port}#{vm_suspend_route}"
         
     | 
| 
       115 
174 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -168,6 +227,16 @@ module RestRoutes 
     | 
|
| 
       168 
227 
     | 
    
         | 
| 
       169 
228 
     | 
    
         
             
            		end
         
     | 
| 
       170 
229 
     | 
    
         | 
| 
      
 230 
     | 
    
         
            +
            		def self.vm_snapshot_delete_url(host,port,vmname,snapid)       
         
     | 
| 
      
 231 
     | 
    
         
            +
                  url=String.new(vm_snapshot_delete_route)        
         
     | 
| 
      
 232 
     | 
    
         
            +
                  url[":vm"]=vmname
         
     | 
| 
      
 233 
     | 
    
         
            +
                  url[":snapid"]=snapid
         
     | 
| 
      
 234 
     | 
    
         
            +
                  url="http://#{host}:#{port}#{url}"            
         
     | 
| 
      
 235 
     | 
    
         
            +
                  
         
     | 
| 
      
 236 
     | 
    
         
            +
                  url
         
     | 
| 
      
 237 
     | 
    
         
            +
                  
         
     | 
| 
      
 238 
     | 
    
         
            +
                end
         
     | 
| 
      
 239 
     | 
    
         
            +
            		
         
     | 
| 
       171 
240 
     | 
    
         
             
            		def self.vm_snapshot_restore_url(host,port,vmname)
         
     | 
| 
       172 
241 
     | 
    
         
             
            			url=String.new(vm_snapshot_restore_route)
         
     | 
| 
       173 
242 
     | 
    
         
             
            			url[":vm"]=vmname
         
     | 
| 
         @@ -177,6 +246,17 @@ module RestRoutes 
     | 
|
| 
       177 
246 
     | 
    
         | 
| 
       178 
247 
     | 
    
         
             
            		end
         
     | 
| 
       179 
248 
     | 
    
         | 
| 
      
 249 
     | 
    
         
            +
            		def self.vm_delete_url(host,port,vmname)
         
     | 
| 
      
 250 
     | 
    
         
            +
            		  url=String.new(vm_delete_route)
         
     | 
| 
      
 251 
     | 
    
         
            +
                  url[":vm"]=vmname
         
     | 
| 
      
 252 
     | 
    
         
            +
                  url="http://#{host}:#{port}#{url}"    
         
     | 
| 
      
 253 
     | 
    
         
            +
                  
         
     | 
| 
      
 254 
     | 
    
         
            +
                  url
         
     | 
| 
      
 255 
     | 
    
         
            +
            		end
         
     | 
| 
      
 256 
     | 
    
         
            +
            		
         
     | 
| 
      
 257 
     | 
    
         
            +
            		
         
     | 
| 
      
 258 
     | 
    
         
            +
            				
         
     | 
| 
      
 259 
     | 
    
         
            +
            		
         
     | 
| 
       180 
260 
     | 
    
         
             
            		def self.backup_log_url(host,port,vmname=nil)
         
     | 
| 
       181 
261 
     | 
    
         
             
            			url="http://#{host}:#{port}#{node_backup_log_route}"
         
     | 
| 
       182 
262 
     | 
    
         | 
| 
         @@ -190,6 +270,17 @@ module RestRoutes 
     | 
|
| 
       190 
270 
     | 
    
         | 
| 
       191 
271 
     | 
    
         
             
            		end
         
     | 
| 
       192 
272 
     | 
    
         | 
| 
      
 273 
     | 
    
         
            +
            		def self.config_show_url(host,port)
         
     | 
| 
      
 274 
     | 
    
         
            +
                  "http://#{host}:#{port}#{config_show_route}"
         
     | 
| 
      
 275 
     | 
    
         
            +
                end
         
     | 
| 
      
 276 
     | 
    
         
            +
                
         
     | 
| 
      
 277 
     | 
    
         
            +
                def self.node_password_change_url(host,port)
         
     | 
| 
      
 278 
     | 
    
         
            +
                  "http://#{host}:#{port}#{node_password_change_route}"
         
     | 
| 
      
 279 
     | 
    
         
            +
                end
         
     | 
| 
      
 280 
     | 
    
         
            +
                
         
     | 
| 
      
 281 
     | 
    
         
            +
                def self.config_upload_url(host,port)
         
     | 
| 
      
 282 
     | 
    
         
            +
                  "http://#{host}:#{port}#{config_upload_route}"
         
     | 
| 
      
 283 
     | 
    
         
            +
                end
         
     | 
| 
       193 
284 
     | 
    
         | 
| 
       194 
285 
     | 
    
         | 
| 
       195 
286 
     | 
    
         
             
            		private
         
     | 
| 
         @@ -200,6 +291,8 @@ module RestRoutes 
     | 
|
| 
       200 
291 
     | 
    
         
             
            			VM_UP_ROUTE = "/api/vm/up"
         
     | 
| 
       201 
292 
     | 
    
         
             
            			VM_HALT_ROUTE = "/api/vm/halt"
         
     | 
| 
       202 
293 
     | 
    
         
             
            			VM_DESTROY_ROUTE =	"/api/vm/destroy"
         
     | 
| 
      
 294 
     | 
    
         
            +
            			VM_DELETE_ROUTE = "/api/vm/:vm/delete"
         
     | 
| 
      
 295 
     | 
    
         
            +
            			VM_ADD_ROUTE = "/api/vm/add"
         
     | 
| 
       203 
296 
     | 
    
         
             
            			VM_SUSPEND_ROUTE = "/api/vm/suspend"
         
     | 
| 
       204 
297 
     | 
    
         
             
            			VM_RESUME_ROUTE = "/api/vm/resume"
         
     | 
| 
       205 
298 
     | 
    
         
             
            			VM_PROVISION_ROUTE = "/api/vm/provision"
         
     | 
| 
         @@ -210,11 +303,22 @@ module RestRoutes 
     | 
|
| 
       210 
303 
     | 
    
         
             
            			SNAPSHOTS_ALL_ROUTE = "/api/vm/snapshots"
         
     | 
| 
       211 
304 
     | 
    
         
             
            			VM_SNAPSHOTS_ROUTE = "/api/vm/:vm/snapshots"
         
     | 
| 
       212 
305 
     | 
    
         
             
            			VM_SNAPSHOT_TAKE_ROUTE = "/api/vm/:vm/take"
         
     | 
| 
      
 306 
     | 
    
         
            +
            			VM_SNAPSHOT_DELETE_ROUTE = "/api/vm/:vm/:snapid/delete"
         
     | 
| 
       213 
307 
     | 
    
         
             
            			VM_SNAPSHOT_RESTORE_ROUTE = "/api/vm/:vm/restore"
         
     | 
| 
       214 
308 
     | 
    
         | 
| 
       215 
309 
     | 
    
         
             
            			VM_BACKUP_LOG_ROUTE = "/api/vm/:vm/backuplog"
         
     | 
| 
       216 
310 
     | 
    
         
             
            			NODE_BACKUP_LOG_ROUTE = "/api/backuplog"
         
     | 
| 
       217 
311 
     | 
    
         | 
| 
      
 312 
     | 
    
         
            +
            			NODE_CONFIG_SHOW_ROUTE = "/api/config/show"
         
     | 
| 
      
 313 
     | 
    
         
            +
            			NODE_CONFIG_UPLOAD_ROUTE = "/api/config/upload"
         
     | 
| 
      
 314 
     | 
    
         
            +
            			
         
     | 
| 
      
 315 
     | 
    
         
            +
            			NODE_PASSWORD_CHANGE = "/api/password/change"
         
     | 
| 
      
 316 
     | 
    
         
            +
            			
         
     | 
| 
      
 317 
     | 
    
         
            +
            			NODE_QUEUE_ROUTE = "/api/queue/:id"
         
     | 
| 
      
 318 
     | 
    
         
            +
            			NODE_QUEUE_LAST_ROUTE = "/api/queuelast"
         
     | 
| 
      
 319 
     | 
    
         
            +
            			
         
     | 
| 
      
 320 
     | 
    
         
            +
            			LOGIN_ROUTE = "/api/login"
         
     | 
| 
      
 321 
     | 
    
         
            +
            			
         
     | 
| 
       218 
322 
     | 
    
         
             
            	end
         
     | 
| 
       219 
323 
     | 
    
         | 
| 
       220 
324 
     | 
    
         
             
            end
         
     |