Add move_home option to user module

pull/5811/head
Aaron Lindsay 11 years ago
parent 3b8fd62ff9
commit 59ac969d2b

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

Loading…
Cancel
Save