Completed
Pull Request — master (#640)
by
unknown
03:00
created

ActionManager.run()   D

Complexity

Conditions 9

Size

Total Lines 22

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 1
Metric Value
cc 9
dl 0
loc 22
rs 4.7088
c 4
b 0
f 1
1
from lib import action
2
from lib import util
3
4
5
class ActionManager(action.BaseAction):
6
7
    def run(self, **kwargs):
8
        action = kwargs['action']
9
        del kwargs['action']
10
        module_path = kwargs['module_path']
11
        del kwargs['module_path']
12
        if action == 'run_instances':
13
            kwargs['user_data'] = self.st2_user_data()
14
        if action == 'create_tags':
15
            kwargs['tags'] = self.split_tags(kwargs['tags'])
16
        if action == 'create_load_balancer' or action == 'create_load_balancer_listeners':
17
            if kwargs['listeners'] is not None:
18
                kwargs['listeners'] = util.get_listners(kwargs['listeners'])
19
        if action == 'configure_health_check':
20
            util.populate_elb_health_check(kwargs)
21
        if action in ('add_a', 'update_a'):
22
            kwargs['value'] = kwargs['value'].split(',')
23
        if 'cls' in kwargs.keys():
24
            cls = kwargs['cls']
25
            del kwargs['cls']
26
            return self.do_method(module_path, cls, action, **kwargs)
27
        else:
28
            return self.do_function(module_path, action, **kwargs)
29