Add move_home option to user module

This commit is contained in:
Aaron Lindsay 2014-01-29 00:35:21 -05:00
parent 0d3a74d905
commit 931f8e4c5b

View file

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