@ -367,6 +367,21 @@ def initial_diff(path, state, prev_state):
if prev_state != state :
if prev_state != state :
diff [ ' before ' ] [ ' state ' ] = prev_state
diff [ ' before ' ] [ ' state ' ] = prev_state
diff [ ' after ' ] [ ' state ' ] = state
diff [ ' after ' ] [ ' state ' ] = state
if state == ' absent ' :
walklist = {
' directories ' : [ ] ,
' files ' : [ ] ,
}
for base_path , sub_folders , files in os . walk ( path ) :
for folder in sub_folders :
folderpath = os . path . join ( base_path , folder )
walklist [ ' directories ' ] . append ( folderpath )
for filename in files :
filepath = os . path . join ( base_path , filename )
walklist [ ' files ' ] . append ( filepath )
diff [ ' before ' ] [ ' path_content ' ] = walklist
return diff
return diff
@ -481,6 +496,8 @@ def ensure_absent(path):
result = { }
result = { }
if prev_state != ' absent ' :
if prev_state != ' absent ' :
diff = initial_diff ( path , ' absent ' , prev_state )
if not module . check_mode :
if not module . check_mode :
if prev_state == ' directory ' :
if prev_state == ' directory ' :
try :
try :
@ -495,7 +512,6 @@ def ensure_absent(path):
raise AnsibleModuleError ( results = { ' msg ' : " unlinking failed: %s " % to_native ( e ) ,
raise AnsibleModuleError ( results = { ' msg ' : " unlinking failed: %s " % to_native ( e ) ,
' path ' : path } )
' path ' : path } )
diff = initial_diff ( path , ' absent ' , prev_state )
result . update ( { ' path ' : path , ' changed ' : True , ' diff ' : diff , ' state ' : ' absent ' } )
result . update ( { ' path ' : path , ' changed ' : True , ' diff ' : diff , ' state ' : ' absent ' } )
else :
else :
result . update ( { ' path ' : path , ' changed ' : False , ' state ' : ' absent ' } )
result . update ( { ' path ' : path , ' changed ' : False , ' state ' : ' absent ' } )