1
|
|
|
from libcloud.compute.base import NodeSize |
2
|
|
|
from libcloud.compute.base import NodeImage |
3
|
|
|
|
4
|
|
|
from lib.base import AzureBaseComputeAction |
5
|
|
|
|
6
|
|
|
|
7
|
|
|
class AzureCreateVMAction(AzureBaseComputeAction): |
8
|
|
|
def run(self, name, size_id, image_id, cloud_service_name, |
9
|
|
|
storage_service_name=None, new_deployment=False, |
10
|
|
|
deployment_slot='Production', deployment_name=None, |
11
|
|
|
admin_user_id='azureuser'): |
12
|
|
|
size = NodeSize(id=size_id, name=None, ram=None, disk=None, |
13
|
|
|
bandwidth=None, price=None, driver=self._driver) |
14
|
|
|
image = NodeImage(id=image_id, name=None, driver=self._driver) |
15
|
|
|
node = self._driver.create_node(name=name, size=size, image=image, |
16
|
|
|
ex_cloud_service_name=cloud_service_name, |
17
|
|
|
ex_storage_service_name=storage_service_name, |
18
|
|
|
ex_new_deployment=new_deployment, |
19
|
|
|
ex_deployment_slot=deployment_slot, |
20
|
|
|
ex_deployment_name=deployment_name, |
21
|
|
|
ex_admin_user_id=admin_user_id) |
22
|
|
|
return node |
23
|
|
|
|