Add move_home option to user module
This commit is contained in:
parent
0d3a74d905
commit
931f8e4c5b
1 changed files with 23 additions and 6 deletions
17
system/user
17
system/user
|
@ -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,6 +398,7 @@ class User(object):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
if self.move_home:
|
||||
cmd.append('-m')
|
||||
cmd.append('-d')
|
||||
cmd.append(self.home)
|
||||
|
@ -705,6 +715,7 @@ class FreeBsdUser(User):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
if self.move_home:
|
||||
cmd.append('-m')
|
||||
cmd.append('-d')
|
||||
cmd.append(self.home)
|
||||
|
@ -892,6 +903,7 @@ class OpenBSDUser(User):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
if self.move_home:
|
||||
cmd.append('-m')
|
||||
cmd.append('-d')
|
||||
cmd.append(self.home)
|
||||
|
@ -1059,6 +1071,7 @@ class NetBSDUser(User):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
if self.move_home:
|
||||
cmd.append('-m')
|
||||
cmd.append('-d')
|
||||
cmd.append(self.home)
|
||||
|
@ -1222,6 +1235,7 @@ class SunOS(User):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
if self.move_home:
|
||||
cmd.append('-m')
|
||||
cmd.append('-d')
|
||||
cmd.append(self.home)
|
||||
|
@ -1378,6 +1392,7 @@ class AIX(User):
|
|||
cmd.append(self.comment)
|
||||
|
||||
if self.home is not None and info[5] != self.home:
|
||||
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:
|
||||
|
|
Loading…
Reference in a new issue