Commit 9f1690ab by Michael DeHaan

Merge pull request #1237 from dagwieers/lineinfile-alias

Use the standard 'dest' option for target files, make 'name' an alias
parents f470ebe6 70b063ce
...@@ -32,8 +32,9 @@ description: ...@@ -32,8 +32,9 @@ description:
file only. For other cases, see the M(copy) or M(template) modules. file only. For other cases, see the M(copy) or M(template) modules.
version_added: "0.7" version_added: "0.7"
options: options:
name: dest:
required: true required: true
aliases: [ name, destfile ]
description: description:
- The file to modify - The file to modify
regexp: regexp:
...@@ -71,12 +72,12 @@ options: ...@@ -71,12 +72,12 @@ options:
- Create a backup file including the timestamp information so you can - Create a backup file including the timestamp information so you can
get the original file back if you somehow clobbered it incorrectly. get the original file back if you somehow clobbered it incorrectly.
examples: examples:
- code: lineinfile name=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled - code: lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
- code: lineinfile name=/etc/sudoers state=absent regexp="^%wheel" - code: lineinfile dest=/etc/sudoers state=absent regexp="^%wheel"
''' '''
def present(module, name, regexp, line, insertafter, backup): def present(module, dest, regexp, line, insertafter, backup):
f = open(name, 'rb') f = open(dest, 'rb')
lines = f.readlines() lines = f.readlines()
f.close() f.close()
...@@ -124,15 +125,15 @@ def present(module, name, regexp, line, insertafter, backup): ...@@ -124,15 +125,15 @@ def present(module, name, regexp, line, insertafter, backup):
if changed: if changed:
if backup: if backup:
module.backup_local(name) module.backup_local(dest)
f = open(name, 'wb') f = open(dest, 'wb')
f.writelines(lines) f.writelines(lines)
f.close() f.close()
module.exit_json(changed=changed, msg=msg) module.exit_json(changed=changed, msg=msg)
def absent(module, name, regexp, backup): def absent(module, dest, regexp, backup):
f = open(name, 'rb') f = open(dest, 'rb')
lines = f.readlines() lines = f.readlines()
f.close() f.close()
cre = re.compile(regexp) cre = re.compile(regexp)
...@@ -147,8 +148,8 @@ def absent(module, name, regexp, backup): ...@@ -147,8 +148,8 @@ def absent(module, name, regexp, backup):
changed = len(found) > 0 changed = len(found) > 0
if changed: if changed:
if backup: if backup:
module.backup_local(name) module.backup_local(dest)
f = open(name, 'wb') f = open(dest, 'wb')
f.writelines(lines) f.writelines(lines)
f.close() f.close()
module.exit_json(changed=changed, found=len(found)) module.exit_json(changed=changed, found=len(found))
...@@ -156,7 +157,7 @@ def absent(module, name, regexp, backup): ...@@ -156,7 +157,7 @@ def absent(module, name, regexp, backup):
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
argument_spec = dict( argument_spec = dict(
name=dict(required=True, aliases=['dest', 'destfile']), dest=dict(required=True, aliases=['name', 'destfile']),
state=dict(default='present', choices=['absent', 'present']), state=dict(default='present', choices=['absent', 'present']),
regexp=dict(required=True), regexp=dict(required=True),
line=dict(aliases=['value']), line=dict(aliases=['value']),
...@@ -171,10 +172,10 @@ def main(): ...@@ -171,10 +172,10 @@ def main():
if params['state'] == 'present': if params['state'] == 'present':
if 'line' not in params: if 'line' not in params:
module.fail_json(msg='line= is required with state=present') module.fail_json(msg='line= is required with state=present')
present(module, params['name'], params['regexp'], params['line'], present(module, params['dest'], params['regexp'], params['line'],
params['insertafter'], backup) params['insertafter'], backup)
else: else:
absent(module, params['name'], params['regexp'], backup) absent(module, params['dest'], params['regexp'], backup)
# this is magic, see lib/ansible/module_common.py # this is magic, see lib/ansible/module_common.py
#<<INCLUDE_ANSIBLE_MODULE_COMMON>> #<<INCLUDE_ANSIBLE_MODULE_COMMON>>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment