def rollback_config(module, result): rollback = module.params['rollback'] diff = None with locked_config: load_configuration(module, rollback=rollback) diff = get_diff(module) return diff
def main(): """ main entry point for module execution """ argument_spec = dict( lines=dict(type='list'), src=dict(type='path'), src_format=dict(choices=['xml', 'text', 'set', 'json']), # update operations update=dict(default='merge', choices=['merge', 'overwrite', 'replace', 'update']), # deprecated replace in Ansible 2.3 replace=dict(type='bool'), confirm=dict(default=0, type='int'), comment=dict(default=DEFAULT_COMMENT), # config operations backup=dict(type='bool', default=False), rollback=dict(type='int'), # deprecated zeroize in Ansible 2.3 zeroize=dict(default=False, type='bool'), ) argument_spec.update(junos_argument_spec) mutually_exclusive = [('lines', 'src', 'rollback')] module = AnsibleModule(argument_spec=argument_spec, mutually_exclusive=mutually_exclusive, supports_check_mode=True) warnings = list() check_args(module, warnings) result = {'changed': False, 'warnings': warnings} if module.params['backup']: result['__backup__'] = get_configuration() if module.params['rollback']: diff = get_diff(module) update_result(module, result, diff) elif not any((module.params['src'], module.params['lines'])): confirm_config(module) else: diff = load_config(module) update_result(module, result, diff) module.exit_json(**result)
from ansible.module_utils.six import string_types USE_PERSISTENT_CONNECTION = True DEFAULT_COMMENT = 'configured by junos_config' def check_args(module, warnings): junos_check_args(module, warnings) if module.params['replace'] is not None: module.fail_json(msg='argument replace is deprecated, use update') zeroize = lambda x: send_request(x, ElementTree.Element('request-system-zeroize')) rollback = lambda x: get_diff(x) def guess_format(config): try: json.loads(config) return 'json' except ValueError: pass try: ElementTree.fromstring(config) return 'xml' except ElementTree.ParseError: pass
def rollback(ele): return get_diff(ele)
def rollback(ele, id='0'): return get_diff(ele, id)
def rollback(ele): return get_diff(ele)