From 9a82d8c6924f636e181eadca2048a608166ec7d3 Mon Sep 17 00:00:00 2001 From: Jan-Piet Mens Date: Wed, 3 Jul 2013 16:17:07 +0200 Subject: [PATCH] files/stat: add pw_name and md5 sum to stat, and add meaningful? example remove unnecessary import, md5 sum on regular files only --- library/files/stat | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/library/files/stat b/library/files/stat index 95a630e7d5..a510d9c934 100644 --- a/library/files/stat +++ b/library/files/stat @@ -32,16 +32,18 @@ author: Bruce Pennypacker ''' EXAMPLES = ''' -# Obtain the stats of /etc/foo.conf -- stats: > - path=/etc/foo.conf - +# Obtain the stats of /etc/foo.conf, and check that the file still belongs +# to 'root'. Fail otherwise. +- stats: path=/etc/foo.conf + register: st +- fail: msg="Whoops! file ownership has changed" + when: st.stat.pw_name != 'root' ''' import os import sys from stat import * -from pprint import pprint +import pwd def main(): module = AnsibleModule( @@ -99,6 +101,16 @@ def main(): if S_ISDIR(mode) and os.path.islink(path): d['isdir'] = False d['islnk'] = True + + if S_ISREG(mode): + d['md5'] = module.md5(path) + + try: + pw = pwd.getpwuid(st.st_uid) + + d['pw_name'] = pw.pw_name + except: + pass module.exit_json(changed=False, stat=d)