Completed
Pull Request — master (#543)
by
unknown
03:20 queued 51s
created

SoftlayerCreateInstance   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
rs 10
c 0
b 0
f 0
wmc 2
1
from lib.softlayer import SoftlayerBaseAction
2
3
4
class SoftlayerCreateInstance(SoftlayerBaseAction):
5
    def run(self, name, datacenter, os="DEBIAN_LATEST", domain="example.com", cpus=1, ram=2048,
6
            disk=100, bandwidth=10, local_disk=True, keyname=None):
7
        driver = self._get_driver()
8
        # build the params list to pass to create_node with the proper kwargs
9
        create_params = {"name": name, "ex_datacenter": datacenter,
10
                         self.st2_to_libcloud['os']: os,
11
                         self.st2_to_libcloud['domain']: domain,
12
                         self.st2_to_libcloud['cpus']: cpus,
13
                         self.st2_to_libcloud['disk']: disk,
14
                         self.st2_to_libcloud['ram']: ram,
15
                         self.st2_to_libcloud['bandwidth']: bandwidth,
16
                         self.st2_to_libcloud['local_disk']: local_disk}
17
18
        if keyname is not None:
19
            create_params[self.st2_to_libcloud['keyname']] = keyname
20
        # create the node
21
        self.logger.info('Creating node...')
22
        node = driver.create_node(**create_params)
23
        self.logger.info('Node successfully created: {}'.format(node))
24
        return node
25