Completed
Pull Request — master (#415)
by Anthony
13:50
created

BaseAction._get_lb_driver()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 5
rs 9.4285
1
from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
2
from libcloud.loadbalancer.drivers.dimensiondata import DimensionDataLBDriver
3
from dimensiondata_parsers import ResultSets
4
5
from st2actions.runners.pythonrunner import Action
6
7
__all__ = [
8
    'BaseAction',
9
]
10
11
12
class BaseAction(Action):
13
    def __init__(self, config):
14
        super(BaseAction, self).__init__(config)
15
        self.resultsets = ResultSets()
16
17
    def _get_compute_driver(self, region):
18
        api_user = self.config['api_user']
19
        api_pass = self.config['api_password']
20
        driver = DimensionDataNodeDriver(api_user, api_pass, region=region)
21
        return driver
22
23
    def _get_lb_driver(self, region):
24
        api_user = self.config['api_user']
25
        api_pass = self.config['api_password']
26
        driver = DimensionDataLBDriver(api_user, api_pass, region=region)
27
        return driver
28
29
    def _do_function(self, module, action, **kwargs):
30
        result = getattr(module, action)(**kwargs)
31
        return self.resultsets.formatter(result)
32