%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/grains/ |
Current File : //lib/python2.7/site-packages/salt/grains/minion_process.py |
# -*- coding: utf-8 -*- ''' Set grains describing the minion process. ''' from __future__ import absolute_import, print_function, unicode_literals import os # Import salt libs import salt.utils.platform try: import pwd except ImportError: import getpass pwd = None try: import grp except ImportError: grp = None def _uid(): ''' Grain for the minion User ID ''' if salt.utils.platform.is_windows(): return None return os.getuid() def _username(): ''' Grain for the minion username ''' if pwd: username = pwd.getpwuid(os.getuid()).pw_name else: username = getpass.getuser() return username def _gid(): ''' Grain for the minion Group ID ''' if salt.utils.platform.is_windows(): return None return os.getgid() def _groupname(): ''' Grain for the minion groupname ''' if grp: try: groupname = grp.getgrgid(os.getgid()).gr_name except KeyError: groupname = '' else: groupname = '' return groupname def _pid(): return os.getpid() def grains(): ret = { 'username': _username(), 'groupname': _groupname(), 'pid': _pid(), } if not salt.utils.platform.is_windows(): ret['gid'] = _gid() ret['uid'] = _uid() return ret