@ -373,13 +373,13 @@ def load_banners(module, banners):
run_commands ( module , [ ' \n ' ] )
def get_running_config ( module , current_config = None ):
def get_running_config ( module , current_config = None , flags = None ):
contents = module . params [ ' running_config ' ]
if not contents :
if not module . params [ ' defaults ' ] and current_config :
contents , banners = extract_banners ( current_config . config_text )
else :
flags = get_defaults_flag ( module ) if module . params [ ' defaults ' ] else [ ]
contents = get_config ( module , flags = flags )
contents , banners = extract_banners ( contents )
return NetworkConfig ( indent = 1 , contents = contents ) , banners
@ -467,9 +467,10 @@ def main():
result [ ' warnings ' ] = warnings
config = None
flags = get_defaults_flag ( module ) if module . params [ ' defaults ' ] else [ ]
if module . params [ ' backup ' ] or ( module . _diff and module . params [ ' diff_against ' ] == ' running ' ) :
contents = get_config ( module )
contents = get_config ( module , flags = flags )
config = NetworkConfig ( indent = 1 , contents = contents )
if module . params [ ' backup ' ] :
result [ ' __backup__ ' ] = contents
@ -482,7 +483,7 @@ def main():
candidate , want_banners = get_candidate ( module )
if match != ' none ' :
config , have_banners = get_running_config ( module , config )
config , have_banners = get_running_config ( module , config , flags = flags )
path = module . params [ ' parents ' ]
configobjs = candidate . difference ( config , path = path , match = match , replace = replace )
else :