Add move_home option to user module

This commit is contained in:
Aaron Lindsay 2014-01-29 00:35:21 -05:00
parent 3b8fd62ff9
commit 59ac969d2b

View file

@ -94,6 +94,14 @@ options:
- Unless set to C(no), a home directory will be made for the user
when the account is created or if the home directory does not
exist.
move_home:
required: false
default: "no"
choices: [ "yes", "no" ]
description:
- If set to C(yes) when used with C(home=), attempt to move the
user's home directory to the specified directory if it isn't there
already.
system:
required: false
default: "no"
@ -231,6 +239,7 @@ class User(object):
self.force = module.params['force']
self.remove = module.params['remove']
self.createhome = module.params['createhome']
self.move_home = module.params['move_home']
self.system = module.params['system']
self.login_class = module.params['login_class']
self.append = module.params['append']
@ -389,7 +398,8 @@ class User(object):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -705,7 +715,8 @@ class FreeBsdUser(User):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -892,7 +903,8 @@ class OpenBSDUser(User):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -1059,7 +1071,8 @@ class NetBSDUser(User):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -1222,7 +1235,8 @@ class SunOS(User):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -1378,7 +1392,8 @@ class AIX(User):
cmd.append(self.comment)
if self.home is not None and info[5] != self.home:
cmd.append('-m')
if self.move_home:
cmd.append('-m')
cmd.append('-d')
cmd.append(self.home)
@ -1441,6 +1456,7 @@ def main():
createhome=dict(default='yes', type='bool'),
system=dict(default='no', type='bool'),
# following options are specific to usermod
move_home=dict(default='no', type='bool'),
append=dict(default='no', type='bool'),
# following are specific to ssh key generation
generate_ssh_key=dict(type='bool'),
@ -1488,6 +1504,7 @@ def main():
# modify user (note: this function is check mode aware)
(rc, out, err) = user.modify_user()
result['append'] = user.append
result['move_home'] = user.move_home
if rc is not None and rc != 0:
module.fail_json(name=user.name, msg=err, rc=rc)
if user.password is not None: