We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
junos_template module does not handle the `overwrite` action correctly
<!--- Verify first that your issue/request is not already reported in GitHub -->
##### ISSUE TYPE

<!--- Pick one below and delete the rest: -->
- Bug Report
##### COMPONENT NAME

junos_template
##### ANSIBLE VERSION

```
ansible 2.2.0 (detached HEAD d98bd3551e) last updated 2016/05/06 18:06:05 (GMT +100)
  lib/ansible/modules/core: (detached HEAD 1f5cf669dd) last updated 2016/05/06 18:06:07 (GMT +100)
  lib/ansible/modules/extras: (detached HEAD 431591c2b4) last updated 2016/05/06 18:06:07 (GMT +100)
```
##### OS / ENVIRONMENT

N/A
##### SUMMARY

The argument parsing for the `junos_template` module is flawed.
If `overwrite=true` is set, `action==merge` as `merge` defaults to `True`
Trying to set `merge=false` as well, gives `FAILED! => {"changed": false, "failed": true, "msg": "parameters are mutually exclusive: ('merge', 'overwrite')"}`

If you set `merge=false`, `action==replace`.

It's impossible to get `action==overwrite`
##### STEPS TO REPRODUCE

```

---
- name: Install configuration
  junos_template: >
    host='{{ ansible_host }}'
    port={{ ansible_port }}
    src='{{ junos_conf }}'
    comment='configured by ansible'
    timeout=120
    overwrite=true

```
##### EXPECTED RESULTS

The config is replaced in it's entirety
##### ACTUAL RESULTS

The config is merged

```
<!--- Paste verbatim command output between quotes -->
```


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `network/junos/junos_template.py`
Content:
```
1 #!/usr/bin/python
2 #
3 # This file is part of Ansible
4 #
5 # Ansible is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Ansible is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
17 #
18 
19 DOCUMENTATION = """
20 ---
21 module: junos_template
22 version_added: "2.1"
23 author: "Peter Sprygada (@privateip)"
24 short_description: Manage configuration on remote devices running Junos
25 description:
26   - The M(junos_template) module will load a candidate configuration
27     from a template file onto a remote device running Junos.  The
28     module will return the differences in configuration if the diff
29     option is specified on the Ansible command line
30 extends_documentation_fragment: junos
31 options:
32   src:
33     description:
34       - The path to the config source.  The source can be either a
35         file with config or a template that will be merged during
36         runtime.  By default the task will search for the source
37         file in role or playbook root folder in templates directory.
38     required: true
39     default: null
40   backup:
41     description:
42       - When this argument is configured true, the module will backup
43         the configuration from the node prior to making any changes.
44         The backup file will be written to backup_{{ hostname }} in
45         the root of the playbook directory.
46     required: false
47     default: false
48     choices: ["true", "false"]
49   confirm:
50     description:
51       - The C(confirm) argument will configure a time out value for
52         the commit to be confirmed before it is automatically
53         rolled back.  If the C(confirm) argument is set to False, this
54         argument is silently ignored.  If the value for this argument
55         is set to 0, the commit is confirmed immediately.
56     required: false
57     default: 0
58   comment:
59     description:
60       - The C(comment) argument specifies a text string to be used
61         when committing the configuration.  If the C(confirm) argument
62         is set to False, this argument is silently ignored.
63     required: false
64     default: configured by junos_template
65   merge:
66     description:
67       - The C(merge) argument instructs the module to merge the contents
68         of C(src) with the configuration running on the remote device.  If
69         both C(merge) and C(overwrite) are set to false, the configuration
70         is replaced.
71     required: false
72     default: true
73   overwrite:
74     description:
75       - The C(overwrite) argument will overwrite the entire configuration
76         on the remote device with the contents loaded from C(src).  If
77         both C(merge) and C(overwrite) are set to false, the configuration
78         is replaced.
79     required: false
80     default: false
81   config_format:
82     description:
83       - The C(format) argument specifies the format of the configuration
84         template specified in C(src).  If the format argument is not
85         specified, the module will attempt to infer the configuration
86         format based of file extension.  Files that end in I(xml) will set
87         the format to xml.  Files that end in I(set) will set the format
88         to set and all other files will default the format to text.
89     required: false
90     default: null
91     choices: ['text', 'xml', 'set']
92 requirements:
93   - junos-eznc
94 notes:
95   - This module requires the netconf system service be enabled on
96     the remote device being managed
97 """
98 
99 EXAMPLES = """
100 - junos_template:
101     src: config.j2
102     comment: update system config
103 
104 - name: replace config hierarchy
105     src: config.j2
106     replace: yes
107 
108 - name: overwrite the config
109     src: config.j2
110     overwrite: yes
111 """
112 
113 DEFAULT_COMMENT = 'configured by junos_template'
114 
115 def main():
116 
117     argument_spec = dict(
118         src=dict(required=True, type='path'),
119         confirm=dict(default=0, type='int'),
120         comment=dict(default=DEFAULT_COMMENT),
121         merge=dict(default=True, type='bool'),
122         overwrite=dict(default=False, type='bool'),
123         config_format=dict(choices=['text', 'set', 'xml']),
124         backup=dict(default=False, type='bool'),
125         transport=dict(default='netconf', choices=['netconf'])
126     )
127 
128     mutually_exclusive = [('merge', 'overwrite')]
129 
130     module = get_module(argument_spec=argument_spec,
131                         mutually_exclusive=mutually_exclusive,
132                         supports_check_mode=True)
133 
134     comment = module.params['comment']
135     confirm = module.params['confirm']
136     commit = not module.check_mode
137 
138     merge = module.params['merge']
139     overwrite = module.params['overwrite']
140 
141     src = module.params['src']
142     fmt = module.params['config_format']
143 
144     if overwrite and fmt == 'set':
145         module.fail_json(msg="overwrite cannot be used when format is "
146             "set per junos documentation")
147 
148     if merge:
149         action = 'merge'
150     elif overwrite:
151         action = 'overwrite'
152     else:
153         action = 'replace'
154 
155     results = dict(changed=False)
156     results['_backup'] = str(module.get_config()).strip()
157 
158     diff = module.load_config(src, action=action, comment=comment,
159             format=fmt, commit=commit, confirm=confirm)
160 
161     if diff:
162         results['changed'] = True
163         results['diff'] = dict(prepared=diff)
164 
165     module.exit_json(**results)
166 
167 
168 from ansible.module_utils.basic import *
169 from ansible.module_utils.junos import *
170 
171 if __name__ == '__main__':
172     main()
173
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/network/junos/junos_template.py b/network/junos/junos_template.py
--- a/network/junos/junos_template.py
+++ b/network/junos/junos_template.py
@@ -62,22 +62,13 @@
         is set to False, this argument is silently ignored.
     required: false
     default: configured by junos_template
-  merge:
+  action:
     description:
-      - The C(merge) argument instructs the module to merge the contents
-        of C(src) with the configuration running on the remote device.  If
-        both C(merge) and C(overwrite) are set to false, the configuration
-        is replaced.
+      - The C(action) argument specifies how the module will apply changes.
     required: false
-    default: true
-  overwrite:
-    description:
-      - The C(overwrite) argument will overwrite the entire configuration
-        on the remote device with the contents loaded from C(src).  If
-        both C(merge) and C(overwrite) are set to false, the configuration
-        is replaced.
-    required: false
-    default: false
+    default: merge
+    choices: ['merge', 'overwrite', 'replace']
+    version_added: "2.2"
   config_format:
     description:
       - The C(format) argument specifies the format of the configuration
@@ -103,11 +94,11 @@
 
 - name: replace config hierarchy
     src: config.j2
-    replace: yes
+    action: replace
 
 - name: overwrite the config
     src: config.j2
-    overwrite: yes
+    action: overwrite
 """
 
 DEFAULT_COMMENT = 'configured by junos_template'
@@ -118,40 +109,28 @@
         src=dict(required=True, type='path'),
         confirm=dict(default=0, type='int'),
         comment=dict(default=DEFAULT_COMMENT),
-        merge=dict(default=True, type='bool'),
-        overwrite=dict(default=False, type='bool'),
+        action=dict(default='merge', choices=['merge', 'overwrite', 'replace']),
         config_format=dict(choices=['text', 'set', 'xml']),
         backup=dict(default=False, type='bool'),
         transport=dict(default='netconf', choices=['netconf'])
     )
 
-    mutually_exclusive = [('merge', 'overwrite')]
-
     module = get_module(argument_spec=argument_spec,
-                        mutually_exclusive=mutually_exclusive,
                         supports_check_mode=True)
 
     comment = module.params['comment']
     confirm = module.params['confirm']
     commit = not module.check_mode
 
-    merge = module.params['merge']
-    overwrite = module.params['overwrite']
+    action = module.params['action']
 
     src = module.params['src']
     fmt = module.params['config_format']
 
-    if overwrite and fmt == 'set':
+    if action == 'overwrite' and fmt == 'set':
         module.fail_json(msg="overwrite cannot be used when format is "
             "set per junos documentation")
 
-    if merge:
-        action = 'merge'
-    elif overwrite:
-        action = 'overwrite'
-    else:
-        action = 'replace'
-
     results = dict(changed=False)
     results['_backup'] = str(module.get_config()).strip()

{"golden_diff": "diff --git a/network/junos/junos_template.py b/network/junos/junos_template.py\n--- a/network/junos/junos_template.py\n+++ b/network/junos/junos_template.py\n@@ -62,22 +62,13 @@\n         is set to False, this argument is silently ignored.\n     required: false\n     default: configured by junos_template\n-  merge:\n+  action:\n     description:\n-      - The C(merge) argument instructs the module to merge the contents\n-        of C(src) with the configuration running on the remote device.  If\n-        both C(merge) and C(overwrite) are set to false, the configuration\n-        is replaced.\n+      - The C(action) argument specifies how the module will apply changes.\n     required: false\n-    default: true\n-  overwrite:\n-    description:\n-      - The C(overwrite) argument will overwrite the entire configuration\n-        on the remote device with the contents loaded from C(src).  If\n-        both C(merge) and C(overwrite) are set to false, the configuration\n-        is replaced.\n-    required: false\n-    default: false\n+    default: merge\n+    choices: ['merge', 'overwrite', 'replace']\n+    version_added: \"2.2\"\n   config_format:\n     description:\n       - The C(format) argument specifies the format of the configuration\n@@ -103,11 +94,11 @@\n \n - name: replace config hierarchy\n     src: config.j2\n-    replace: yes\n+    action: replace\n \n - name: overwrite the config\n     src: config.j2\n-    overwrite: yes\n+    action: overwrite\n \"\"\"\n \n DEFAULT_COMMENT = 'configured by junos_template'\n@@ -118,40 +109,28 @@\n         src=dict(required=True, type='path'),\n         confirm=dict(default=0, type='int'),\n         comment=dict(default=DEFAULT_COMMENT),\n-        merge=dict(default=True, type='bool'),\n-        overwrite=dict(default=False, type='bool'),\n+        action=dict(default='merge', choices=['merge', 'overwrite', 'replace']),\n         config_format=dict(choices=['text', 'set', 'xml']),\n         backup=dict(default=False, type='bool'),\n         transport=dict(default='netconf', choices=['netconf'])\n     )\n \n-    mutually_exclusive = [('merge', 'overwrite')]\n-\n     module = get_module(argument_spec=argument_spec,\n-                        mutually_exclusive=mutually_exclusive,\n                         supports_check_mode=True)\n \n     comment = module.params['comment']\n     confirm = module.params['confirm']\n     commit = not module.check_mode\n \n-    merge = module.params['merge']\n-    overwrite = module.params['overwrite']\n+    action = module.params['action']\n \n     src = module.params['src']\n     fmt = module.params['config_format']\n \n-    if overwrite and fmt == 'set':\n+    if action == 'overwrite' and fmt == 'set':\n         module.fail_json(msg=\"overwrite cannot be used when format is \"\n             \"set per junos documentation\")\n \n-    if merge:\n-        action = 'merge'\n-    elif overwrite:\n-        action = 'overwrite'\n-    else:\n-        action = 'replace'\n-\n     results = dict(changed=False)\n     results['_backup'] = str(module.get_config()).strip()\n", "issue": "junos_template module does not handle the `overwrite` action correctly\n<!--- Verify first that your issue/request is not already reported in GitHub -->\n##### ISSUE TYPE\n\n<!--- Pick one below and delete the rest: -->\n- Bug Report\n##### COMPONENT NAME\n\njunos_template\n##### ANSIBLE VERSION\n\n```\nansible 2.2.0 (detached HEAD d98bd3551e) last updated 2016/05/06 18:06:05 (GMT +100)\n  lib/ansible/modules/core: (detached HEAD 1f5cf669dd) last updated 2016/05/06 18:06:07 (GMT +100)\n  lib/ansible/modules/extras: (detached HEAD 431591c2b4) last updated 2016/05/06 18:06:07 (GMT +100)\n```\n##### OS / ENVIRONMENT\n\nN/A\n##### SUMMARY\n\nThe argument parsing for the `junos_template` module is flawed.\nIf `overwrite=true` is set, `action==merge` as `merge` defaults to `True`\nTrying to set `merge=false` as well, gives `FAILED! => {\"changed\": false, \"failed\": true, \"msg\": \"parameters are mutually exclusive: ('merge', 'overwrite')\"}`\n\nIf you set `merge=false`, `action==replace`.\n\nIt's impossible to get `action==overwrite`\n##### STEPS TO REPRODUCE\n\n```\n\n---\n- name: Install configuration\n  junos_template: >\n    host='{{ ansible_host }}'\n    port={{ ansible_port }}\n    src='{{ junos_conf }}'\n    comment='configured by ansible'\n    timeout=120\n    overwrite=true\n\n```\n##### EXPECTED RESULTS\n\nThe config is replaced in it's entirety\n##### ACTUAL RESULTS\n\nThe config is merged\n\n```\n<!--- Paste verbatim command output between quotes -->\n```\n\n", "before_files": [{"content": "#!/usr/bin/python\n#\n# This file is part of Ansible\n#\n# Ansible is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Ansible is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.\n#\n\nDOCUMENTATION = \"\"\"\n---\nmodule: junos_template\nversion_added: \"2.1\"\nauthor: \"Peter Sprygada (@privateip)\"\nshort_description: Manage configuration on remote devices running Junos\ndescription:\n  - The M(junos_template) module will load a candidate configuration\n    from a template file onto a remote device running Junos.  The\n    module will return the differences in configuration if the diff\n    option is specified on the Ansible command line\nextends_documentation_fragment: junos\noptions:\n  src:\n    description:\n      - The path to the config source.  The source can be either a\n        file with config or a template that will be merged during\n        runtime.  By default the task will search for the source\n        file in role or playbook root folder in templates directory.\n    required: true\n    default: null\n  backup:\n    description:\n      - When this argument is configured true, the module will backup\n        the configuration from the node prior to making any changes.\n        The backup file will be written to backup_{{ hostname }} in\n        the root of the playbook directory.\n    required: false\n    default: false\n    choices: [\"true\", \"false\"]\n  confirm:\n    description:\n      - The C(confirm) argument will configure a time out value for\n        the commit to be confirmed before it is automatically\n        rolled back.  If the C(confirm) argument is set to False, this\n        argument is silently ignored.  If the value for this argument\n        is set to 0, the commit is confirmed immediately.\n    required: false\n    default: 0\n  comment:\n    description:\n      - The C(comment) argument specifies a text string to be used\n        when committing the configuration.  If the C(confirm) argument\n        is set to False, this argument is silently ignored.\n    required: false\n    default: configured by junos_template\n  merge:\n    description:\n      - The C(merge) argument instructs the module to merge the contents\n        of C(src) with the configuration running on the remote device.  If\n        both C(merge) and C(overwrite) are set to false, the configuration\n        is replaced.\n    required: false\n    default: true\n  overwrite:\n    description:\n      - The C(overwrite) argument will overwrite the entire configuration\n        on the remote device with the contents loaded from C(src).  If\n        both C(merge) and C(overwrite) are set to false, the configuration\n        is replaced.\n    required: false\n    default: false\n  config_format:\n    description:\n      - The C(format) argument specifies the format of the configuration\n        template specified in C(src).  If the format argument is not\n        specified, the module will attempt to infer the configuration\n        format based of file extension.  Files that end in I(xml) will set\n        the format to xml.  Files that end in I(set) will set the format\n        to set and all other files will default the format to text.\n    required: false\n    default: null\n    choices: ['text', 'xml', 'set']\nrequirements:\n  - junos-eznc\nnotes:\n  - This module requires the netconf system service be enabled on\n    the remote device being managed\n\"\"\"\n\nEXAMPLES = \"\"\"\n- junos_template:\n    src: config.j2\n    comment: update system config\n\n- name: replace config hierarchy\n    src: config.j2\n    replace: yes\n\n- name: overwrite the config\n    src: config.j2\n    overwrite: yes\n\"\"\"\n\nDEFAULT_COMMENT = 'configured by junos_template'\n\ndef main():\n\n    argument_spec = dict(\n        src=dict(required=True, type='path'),\n        confirm=dict(default=0, type='int'),\n        comment=dict(default=DEFAULT_COMMENT),\n        merge=dict(default=True, type='bool'),\n        overwrite=dict(default=False, type='bool'),\n        config_format=dict(choices=['text', 'set', 'xml']),\n        backup=dict(default=False, type='bool'),\n        transport=dict(default='netconf', choices=['netconf'])\n    )\n\n    mutually_exclusive = [('merge', 'overwrite')]\n\n    module = get_module(argument_spec=argument_spec,\n                        mutually_exclusive=mutually_exclusive,\n                        supports_check_mode=True)\n\n    comment = module.params['comment']\n    confirm = module.params['confirm']\n    commit = not module.check_mode\n\n    merge = module.params['merge']\n    overwrite = module.params['overwrite']\n\n    src = module.params['src']\n    fmt = module.params['config_format']\n\n    if overwrite and fmt == 'set':\n        module.fail_json(msg=\"overwrite cannot be used when format is \"\n            \"set per junos documentation\")\n\n    if merge:\n        action = 'merge'\n    elif overwrite:\n        action = 'overwrite'\n    else:\n        action = 'replace'\n\n    results = dict(changed=False)\n    results['_backup'] = str(module.get_config()).strip()\n\n    diff = module.load_config(src, action=action, comment=comment,\n            format=fmt, commit=commit, confirm=confirm)\n\n    if diff:\n        results['changed'] = True\n        results['diff'] = dict(prepared=diff)\n\n    module.exit_json(**results)\n\n\nfrom ansible.module_utils.basic import *\nfrom ansible.module_utils.junos import *\n\nif __name__ == '__main__':\n    main()\n", "path": "network/junos/junos_template.py"}], "after_files": [{"content": "#!/usr/bin/python\n#\n# This file is part of Ansible\n#\n# Ansible is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Ansible is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.\n#\n\nDOCUMENTATION = \"\"\"\n---\nmodule: junos_template\nversion_added: \"2.1\"\nauthor: \"Peter Sprygada (@privateip)\"\nshort_description: Manage configuration on remote devices running Junos\ndescription:\n  - The M(junos_template) module will load a candidate configuration\n    from a template file onto a remote device running Junos.  The\n    module will return the differences in configuration if the diff\n    option is specified on the Ansible command line\nextends_documentation_fragment: junos\noptions:\n  src:\n    description:\n      - The path to the config source.  The source can be either a\n        file with config or a template that will be merged during\n        runtime.  By default the task will search for the source\n        file in role or playbook root folder in templates directory.\n    required: true\n    default: null\n  backup:\n    description:\n      - When this argument is configured true, the module will backup\n        the configuration from the node prior to making any changes.\n        The backup file will be written to backup_{{ hostname }} in\n        the root of the playbook directory.\n    required: false\n    default: false\n    choices: [\"true\", \"false\"]\n  confirm:\n    description:\n      - The C(confirm) argument will configure a time out value for\n        the commit to be confirmed before it is automatically\n        rolled back.  If the C(confirm) argument is set to False, this\n        argument is silently ignored.  If the value for this argument\n        is set to 0, the commit is confirmed immediately.\n    required: false\n    default: 0\n  comment:\n    description:\n      - The C(comment) argument specifies a text string to be used\n        when committing the configuration.  If the C(confirm) argument\n        is set to False, this argument is silently ignored.\n    required: false\n    default: configured by junos_template\n  action:\n    description:\n      - The C(action) argument specifies how the module will apply changes.\n    required: false\n    default: merge\n    choices: ['merge', 'overwrite', 'replace']\n    version_added: \"2.2\"\n  config_format:\n    description:\n      - The C(format) argument specifies the format of the configuration\n        template specified in C(src).  If the format argument is not\n        specified, the module will attempt to infer the configuration\n        format based of file extension.  Files that end in I(xml) will set\n        the format to xml.  Files that end in I(set) will set the format\n        to set and all other files will default the format to text.\n    required: false\n    default: null\n    choices: ['text', 'xml', 'set']\nrequirements:\n  - junos-eznc\nnotes:\n  - This module requires the netconf system service be enabled on\n    the remote device being managed\n\"\"\"\n\nEXAMPLES = \"\"\"\n- junos_template:\n    src: config.j2\n    comment: update system config\n\n- name: replace config hierarchy\n    src: config.j2\n    action: replace\n\n- name: overwrite the config\n    src: config.j2\n    action: overwrite\n\"\"\"\n\nDEFAULT_COMMENT = 'configured by junos_template'\n\ndef main():\n\n    argument_spec = dict(\n        src=dict(required=True, type='path'),\n        confirm=dict(default=0, type='int'),\n        comment=dict(default=DEFAULT_COMMENT),\n        action=dict(default='merge', choices=['merge', 'overwrite', 'replace']),\n        config_format=dict(choices=['text', 'set', 'xml']),\n        backup=dict(default=False, type='bool'),\n        transport=dict(default='netconf', choices=['netconf'])\n    )\n\n    module = get_module(argument_spec=argument_spec,\n                        supports_check_mode=True)\n\n    comment = module.params['comment']\n    confirm = module.params['confirm']\n    commit = not module.check_mode\n\n    action = module.params['action']\n\n    src = module.params['src']\n    fmt = module.params['config_format']\n\n    if action == 'overwrite' and fmt == 'set':\n        module.fail_json(msg=\"overwrite cannot be used when format is \"\n            \"set per junos documentation\")\n\n    results = dict(changed=False)\n    results['_backup'] = str(module.get_config()).strip()\n\n    diff = module.load_config(src, action=action, comment=comment,\n            format=fmt, commit=commit, confirm=confirm)\n\n    if diff:\n        results['changed'] = True\n        results['diff'] = dict(prepared=diff)\n\n    module.exit_json(**results)\n\n\nfrom ansible.module_utils.basic import *\nfrom ansible.module_utils.junos import *\n\nif __name__ == '__main__':\n    main()\n", "path": "network/junos/junos_template.py"}]}