mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Licensed to the Apache Software Foundation (ASF) under one
 | |
| // or more contributor license agreements.  See the NOTICE file
 | |
| // distributed with this work for additional information
 | |
| // regarding copyright ownership.  The ASF licenses this file
 | |
| // to you under the Apache License, Version 2.0 (the
 | |
| // "License"); you may not use this file except in compliance
 | |
| // with the License.  You may obtain a copy of the License at
 | |
| //
 | |
| //   http://www.apache.org/licenses/LICENSE-2.0
 | |
| //
 | |
| // Unless required by applicable law or agreed to in writing,
 | |
| // software distributed under the License is distributed on an
 | |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | |
| // KIND, either express or implied.  See the License for the
 | |
| // specific language governing permissions and limitations
 | |
| // under the License.
 | |
| 
 | |
| angular.module('resources.virtualmachines',['services.helperfunctions', 'services.requester']);
 | |
| angular.module('resources.virtualmachines').factory('VirtualMachines',
 | |
|         ['$http', 'VirtualMachine', 'makeArray', 'makeInstance', 'requester', function($http, VirtualMachine, makeArray, makeInstance, requester){
 | |
|     this.getAll = function(){
 | |
|         return requester.get('listVirtualMachines').then(function(response){
 | |
|             return response.data.listvirtualmachinesresponse.virtualmachine;
 | |
|         }).then(makeArray(VirtualMachine));
 | |
|     };
 | |
| 
 | |
|     this.getById = function(id){
 | |
|         return requester.get('listVirtualMachines', {id: id}).then(function(response){
 | |
|             return response.data.listvirtualmachinesresponse.virtualmachine[0];
 | |
|         }).then(makeInstance(VirtualMachine));
 | |
|     };
 | |
| 
 | |
|     return this;
 | |
| }]);
 | |
| 
 | |
| angular.module('resources.virtualmachines').factory('VirtualMachine', ['requester', function (requester){
 | |
|     var VirtualMachine = function(attrs){
 | |
|         angular.extend(this, attrs);
 | |
|     };
 | |
|     VirtualMachine.prototype.start = function(){
 | |
|         var self = this;
 | |
|         self.state = 'Starting';
 | |
|         requester.async('startVirtualMachine', {id : self.id}).then(function(response){
 | |
|             self.state = 'Running';
 | |
|         });
 | |
|     };
 | |
|     VirtualMachine.prototype.stop = function(){
 | |
|         var self = this;
 | |
|         self.state = 'Stopping'
 | |
|         requester.async('stopVirtualMachine', {id : self.id}).then(function(response){
 | |
|             self.state = 'Stopped';
 | |
|         });
 | |
|     };
 | |
|     VirtualMachine.prototype.reboot = function(){
 | |
|         var self = this;
 | |
|         self.state = 'Rebooting';
 | |
|         requester.async('rebootVirtualMachine', {id: self.id}).then(function(response){
 | |
|             self.state = 'Running';
 | |
|         });
 | |
|     };
 | |
|     VirtualMachine.prototype.destroy = function(){
 | |
|         var self = this;
 | |
|         requester.async('destroyVirtualMachine', {id: self.id}).then(function(response){
 | |
|             self.state = 'Destroyed';
 | |
|         });
 | |
|     };
 | |
|     VirtualMachine.prototype.restore = function(){
 | |
|         var self = this;
 | |
|         self.state = "Restoring";
 | |
|         requester.async('restoreVirtualMachine', {id: self.id}).then(function(response){
 | |
|             self.state = "Stopped";
 | |
|         });
 | |
|     };
 | |
|     return VirtualMachine;
 | |
| }]);
 |