Ver código fonte

Merge pull request #298 from rodrigonull/azure-stop-vm

Add Azure stop VM instance method
Nuwan Goonasekera 3 anos atrás
pai
commit
f822c0c612

+ 7 - 0
cloudbridge/providers/azure/azure_client.py

@@ -742,6 +742,13 @@ class AzureClient(object):
         return self.compute_client.virtual_machines.begin_restart(
             self.resource_group, vm_name).wait()
 
+    def stop_vm(self, vm_id):
+        url_params = azure_helpers.parse_url(VM_RESOURCE_ID,
+                                             vm_id)
+        vm_name = url_params.get(VM_NAME, "")
+        self.compute_client.virtual_machines. \
+            begin_power_off(self.resource_group, vm_name).wait()
+
     def delete_vm(self, vm_id):
         url_params = azure_helpers.parse_url(VM_RESOURCE_ID,
                                              vm_id)

+ 6 - 0
cloudbridge/providers/azure/resources.py

@@ -1131,6 +1131,12 @@ class AzureInstance(BaseInstance):
         """
         self._provider.azure_client.restart_vm(self.id)
 
+    def stop(self):
+        """
+        Stop this instance (using the cloud middleware API).
+        """
+        self._provider.azure_client.stop_vm(self.id)
+
     @property
     def image_id(self):
         """