%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/executors/ |
Current File : //lib/python2.7/site-packages/salt/executors/docker.py |
# -*- coding: utf-8 -*- ''' Docker executor module .. versionadded: 2019.2.0 Used with the docker proxy minion. ''' from __future__ import absolute_import, unicode_literals __virtualname__ = 'docker' DOCKER_MOD_MAP = { 'state.sls': 'docker.sls', 'state.apply': 'docker.apply', 'state.highstate': 'docker.highstate', } def __virtual__(): if 'proxy' not in __opts__: return False, 'Docker executor is only meant to be used with Docker Proxy Minions' if __opts__.get('proxy', {}).get('proxytype') != __virtualname__: return False, 'Proxytype does not match: {0}'.format(__virtualname__) return True def execute(opts, data, func, args, kwargs): ''' Directly calls the given function with arguments ''' if data['fun'] == 'saltutil.find_job': return __executors__['direct_call.execute'](opts, data, func, args, kwargs) if data['fun'] in DOCKER_MOD_MAP: return __executors__['direct_call.execute'](opts, data, __salt__[DOCKER_MOD_MAP[data['fun']]], [opts['proxy']['name']] + args, kwargs) return __salt__['docker.call'](opts['proxy']['name'], data['fun'], *args, **kwargs) def allow_missing_func(function): # pylint: disable=unused-argument ''' Allow all calls to be passed through to docker container. The docker call will use direct_call, which will return back if the module was unable to be run. ''' return True