From d8d69904a75dac2e079b2eef5b99a2deaf0f81ec Mon Sep 17 00:00:00 2001 From: Peter Sprygada Date: Mon, 11 Jul 2016 07:25:04 -0700 Subject: [PATCH] fixup ios_template module to use NetworkModule This removes the get_module() factory function and directly creates an instance of NetworkModule. This commit includes some minor clean up to transition to the ios shared module for 2.2 --- network/ios/ios_template.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/network/ios/ios_template.py b/network/ios/ios_template.py index 9452b3d35b8..6d8a9761ad3 100644 --- a/network/ios/ios_template.py +++ b/network/ios/ios_template.py @@ -19,7 +19,7 @@ DOCUMENTATION = """ --- module: ios_template version_added: "2.1" -author: "Peter sprygada (@privateip)" +author: "Peter Sprygada (@privateip)" short_description: Manage Cisco IOS device configurations over SSH description: - Manages Cisco IOS network device configurations over SSH. This module @@ -115,11 +115,13 @@ responses: type: list sample: ['...', '...'] """ +from ansible.module_utils.netcfg import NetworkConfig, dumps +from ansible.module_utils.ios import NetworkModule, NetworkError def get_config(module): config = module.params['config'] or dict() if not config and not module.params['force']: - config = module.config + config = module.config.get_config() return config def main(): @@ -136,9 +138,9 @@ def main(): mutually_exclusive = [('config', 'backup'), ('config', 'force')] - module = get_module(argument_spec=argument_spec, - mutually_exclusive=mutually_exclusive, - supports_check_mode=True) + module = NetworkModule(argument_spec=argument_spec, + mutually_exclusive=mutually_exclusive, + supports_check_mode=True) result = dict(changed=False) @@ -149,15 +151,16 @@ def main(): config = NetworkConfig(contents=contents, indent=1) result['_backup'] = contents + commands = list() if not module.params['force']: - commands = candidate.difference(config) + commands = dumps(candidate.difference(config), 'commands') else: - commands = str(candidate).split('\n') + commands = str(candidate) if commands: + commands = commands.split('\n') if not module.check_mode: - commands = [str(c).strip() for c in commands] - response = module.configure(commands) + response = module.config(commands) result['responses'] = response result['changed'] = True @@ -165,10 +168,6 @@ def main(): module.exit_json(**result) -from ansible.module_utils.basic import * -from ansible.module_utils.shell import * -from ansible.module_utils.netcfg import * -from ansible.module_utils.ios import * if __name__ == '__main__': main()