|
|
|
@ -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:
|
|
|
|
|