Use the standard 'dest' option for target files, make 'name' an alias

This commit is contained in:
Dag Wieers 2012-10-05 11:03:14 +02:00
parent 624d0ae1af
commit 580197f197

View file

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