Completed
Pull Request — master (#544)
by
unknown
09:52 queued 03:16
created

SaltRunner   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 26
rs 10
c 0
b 0
f 0
wmc 2
1
import json
2
from requests import Session
3
4
from lib.base import SaltAction
5
6
7
class SaltRunner(SaltAction):
8
9
    __explicit__ = [
10
        'jobs',
11
        'manage',
12
        'pillar',
13
        'mine',
14
        'network'
15
    ]
16
17
    def run(self, module, **kwargs):
18
        self.verify_ssl = self.config.get('verify_ssl', True)
19
        _cmd = module
20
        '''
21
        CLI Examples:
22
23
            st2 run salt.runner_jobs.active
24
            st2 run salt.runner_jobs.list_jobs
25
        '''
26
        self.generate_package('runner', cmd=_cmd)
27
        if kwargs.get('kwargs', None) is not None:
28
            self.data.update(kwargs['kwargs'])
29
        request = self.generate_request()
30
        request.prepare_body(json.dumps(self.data), None)
31
        resp = Session().send(request, verify=self.verify_ssl)
32
        return resp.json()
33