diff --git a/lib/ansible/modules/network/ios/ios_config.py b/lib/ansible/modules/network/ios/ios_config.py index af74b0a7c6..79efd26026 100644 --- a/lib/ansible/modules/network/ios/ios_config.py +++ b/lib/ansible/modules/network/ios/ios_config.py @@ -351,13 +351,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 @@ -445,9 +445,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 @@ -460,7 +461,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: