|
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
|
|
|
|