%PDF- %PDF-
Direktori : /proc/thread-self/root/lib/python2.7/site-packages/salt/modules/ |
Current File : //proc/thread-self/root/lib/python2.7/site-packages/salt/modules/dummyproxy_pkg.py |
# -*- coding: utf-8 -*- ''' Package support for the dummy proxy used by the test suite ''' from __future__ import absolute_import, print_function, unicode_literals # Import python libs import logging import salt.utils.data import salt.utils.platform from salt.ext import six log = logging.getLogger(__name__) # Define the module's virtual name __virtualname__ = 'pkg' def __virtual__(): ''' Only work on systems that are a proxy minion ''' try: if salt.utils.platform.is_proxy() \ and __opts__['proxy']['proxytype'] == 'dummy': return __virtualname__ except KeyError: return ( False, 'The dummyproxy_package execution module failed to load. Check ' 'the proxy key in pillar or /etc/salt/proxy.' ) return ( False, 'The dummyproxy_package execution module failed to load: only works ' 'on a dummy proxy minion.' ) def list_pkgs(versions_as_list=False, **kwargs): return __proxy__['dummy.package_list']() def install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, **kwargs): return __proxy__['dummy.package_install'](name, **kwargs) def remove(name=None, pkgs=None, **kwargs): return __proxy__['dummy.package_remove'](name) def version(*names, **kwargs): ''' Returns a string representing the package version or an empty string if not installed. If more than one package name is specified, a dict of name/version pairs is returned. CLI Example: .. code-block:: bash salt '*' pkg.version <package name> salt '*' pkg.version <package1> <package2> <package3> ... ''' if len(names) == 1: vers = __proxy__['dummy.package_status'](names[0]) return vers[names[0]] else: results = {} for n in names: vers = __proxy__['dummy.package_status'](n) results.update(vers) return results def upgrade(name=None, pkgs=None, refresh=True, skip_verify=True, normalize=True, **kwargs): old = __proxy__['dummy.package_list']() new = __proxy__['dummy.uptodate']() pkg_installed = __proxy__['dummy.upgrade']() ret = salt.utils.data.compare_dicts(old, pkg_installed) return ret def installed(name, version=None, refresh=False, fromrepo=None, skip_verify=False, pkgs=None, sources=None, **kwargs): p = __proxy__['dummy.package_status'](name) if version is None: if 'ret' in p: return six.text_type(p['ret']) else: return True else: if p is not None: return version == six.text_type(p)